为啥你们想的这么复杂呢? 就起个服务接收物联网设备请求, 顺序写文件就行了, 什么设备都能满足要求. 你们 BT 下过小姐姐嘛? 每秒几十 M 都毫无压力, 存储数据这块, 就他这个每秒 2M, 随便搞个树莓派都能做到. 唯一难点就是, 这每秒 10 万条数据来自几个设备, 如果是 10 万个设备, 那可能确实需要两三千块钱买个 ryzen 5600 级别的主机. 如果就那么几十个设备, 真的需要花钱吗?
存的话 怎么样都可以, 存成文件都可以, 你接下来的这部分数据除了保存, 是不是还有读取需求和留存时间要求, 这部分需求也影响选型 - 如果后期要检索, 最好性能好点+大存储的机器搭一个时序数据库, 或者直接用一个云时序数据库 - 如果只是留存, 机器选型成数据压缩后转发->云对象存储
这种技术方案在遥测领域有很多 粗看下来我的直觉方案是: 缓冲(内存+本地),使用 WAL 批量填入 tsdb 甚至可以不写入 tsdb ,取决于你有多少传感器,如果是有限数量的话,可以直接写入文件,看使用数据的场景来决定是否需要 parquet+bloom filter 如果传感器数量很多又是动态的话,可以使用云对象存储来做
@bthulu #16 “几十块收个几年前的斐讯盒子, 刷机, 把自己的程序放上去就行了.”..................你只考虑 1 秒里发生的事+理论数值,实际情况怕是 10 个斐讯盒子也撑不住 ———————————————————————————————— 1.10 万/秒+物联网,显然是落库到时序数据库,想要高频那就批量插,持久化之前不要搞太多逻辑,存下来再说处理的事 2.如果每秒 10 万条===每秒 10 万个请求,那你得瓶颈可能在网络、CPU 上,网络比较传统,大力出奇迹,上高带宽,CPU 低频多核,不行就分布式多台扛。 内存没太特殊,硬盘现在很多数据库有压缩技术,你这个数据量不大。