在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「物联网Java的资料从专业入门到高级教程」,
点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!2W个采集点,采样频率1s,一个包10kb,用influxDB硬接,然后丢进redis,5s一次刷盘落库进MySQL。
看起来难点在DB,MySQL抗不扛得住是个大问题,付费的influxDB性能不差。
我们的采集量比你们大很多,走MQTT进EMQX,做个kafka接influxDB可以缓解一些,至于落库到MySQL得分片落,不然扛不住,最好用非关系型DB。
包的数据量可以用protobuf,如果可以的话,用Netty手搓协议对接硬件也不错,里面直接用
protobuf压缩,如果还是大,再选个压缩算法再压一遍,注意CPU效能控制。同时最好是把多个物联设备的数据打包,比如多个设备放进一个带计算能力的边缘端里先集合,然后分桶也好分片也好传到server,这个边端如果还能够把协议转成你要的json那更好。
加吧,server不加一层,物理机也得加一层,不然就横向拉多点DB起来硬抗。