大体上是一个 IoT 的项目管理+数据展示页面,主要需求:
现在问题是,目前 py 的框架掌握还都比较浅。Flask,Django 和 fastapi,哪一个比较适合做上面的东西? js 的话也不算太会,刚入门。不过有需要我也可以花些时间自学
IoT 因为时间序列数据很多,目前数据库 PostgreSQL + timescaledb 插件还行
多谢论坛大佬指点
1
opengps 2021-01-19 22:32:00 +08:00
没看到并发数要求,单机在承载高并发上存在天然瓶颈的
|
2
volvo007 OP @opengps 谢谢关注,并发要求可以理解为“不需要” 😂,因为用户真的很少,同时在线的也就十来人而且大家基本都愿意等个几秒到十秒等到图像出来,这个没啥要求
|
3
opengps 2021-01-19 23:36:12 +08:00
@volvo007 关于并发数,你只想到了用户读取并发,没考虑 iot 设备数据写入并发,以我的工作经历为例(车载 gps 设备回发数据,某个时间点的线上数据),15 万设备,每秒钟单盘极限写入能力为 3000 行。一个月的历史数据是 15 亿。
我举例重点在于,对于 iot 类别的项目,上亿的数据,查询未必是难点,写入耗费的时间和 io 才是项目重点要解决的地方。 |
4
mmikoto 2021-01-19 23:42:06 +08:00
github 有个开源项目叫 thingsboard,但是 java 的,几乎完美契合你的要求,除了用户权限可能不太符合,但是应该够用
|
5
volvo007 OP @opengps 哦原来是这一块,学艺不精哈,补充下。目前 SSD 大小是 4T,日写入量是 100w,大小大约只有 10M 。一年的数量不会高于 50G
根据目前的数据探索来看,每秒钟的写入量稳定在 5k-5k5 之间 |
6
volvo007 OP @mmikoto 谢谢指点!不确定 java 还学不学得动了😂 毕竟全干工程师,一大堆活等着……
|
7
nonduality 2021-01-20 13:35:37 +08:00 1
依我看,还是上 Django 吧,Django 自带用户权限管理,还有多个权限管理库可以使用,可以参考这篇 ,搜关键字“Controlling access: a Django permission apps comparison”(不过我写的一个项目由于比较复杂,自己撸了一套权限管理方案)。交互式展示估计得用 highchart 或 echart 之类的 js 库。
FastApi 更适合开发 API server,跟你的要求不太一致; Flask 需要自配很多东西,等弄齐了,说不定你用 django 都写完了。 |
8
encro 2021-01-20 14:14:59 +08:00 1
如果 django admin 够用的话,那就 django 吧,自带权限够用了。
如果希望高度自定义界面,自己慢慢写,可以选择 fastapi,毕竟 django 和 flask 都是代码提示不友好的。 个人感觉 python django 用来做做小工具还是可以,企业应用的话,需要自定义太多,最后往往原型 3 天,改起来三个月。 |
9
volvo007 OP @nonduality
我纠结的其实也是这几个点😂 Django 自带 admin 应该好写,但是绘图方面就要再学 js 和相关库 flask 接触最多,而且可以调用 dash/plotly 这种直接做交互 dashboard,但是要自己凑一堆组件头大 fastapi 看起来比较简单也能挂载 flask app,但是感觉要一次性通过接口返回一百万数据什么的,总感觉很奇怪 并不清楚这几个框架在生产环境下的表现,所以就迷茫了 不过生产环境 Django 用得多那我就选 Django 吧(毕竟 Instagram 也撑住了)多谢🙏 |