1
sss15 2022-04-06 13:55:53 +08:00 1
海量物联网设备数据上报后是否需要计算,还是说只需记录。 讲道理真实环境中物联网数据上报后应该要计算的,数据的计算交给 flink 非常合适。
首先做一个 api service ,只做一个事情就是接收数据上报,然后丢入 kafka 中,flink 消费 kafka 中的数据,按流式数据进行处理,可选的操作有开一个 24 小时的窗,求最大值最小值平均值,对异常数据进行报警,将原始数据 sink 到 es 中,将汇总数据 sink 到数据库中。 kafka 和 flink 天生就是分布式,吞吐量没问题,所以现在整个系统的瓶颈可能就是,你的 api service 怎么接收海量的数据,能扛得住高并发。这个部分我也不是很熟悉,能优化的地方就是 kafka 的连接池,让所有的消息投递都能复用同一个连接池中的链接,不用频繁开启和关闭链接。 http 本身如何优化就暂时不清楚了 |
2
murmur 2022-04-06 13:57:28 +08:00
意义不明,你是架设物理层还是数据处理呢,如果是 2g 的东西,本身他可以联网,就是一般并发的东西了,最多是实时数据库
如果是物联网,那么这又是硬件问题了,怎么妥善收集数据成了面试点 |
3
rabbbit 2022-04-06 14:06:08 +08:00
物联网设备一般都用啥协议?
|
6
ThirdFlame 2022-04-06 14:08:50 +08:00
不是用 mqtt 么
|
7
Uyuhz 2022-04-06 14:10:37 +08:00
这里还有个问题就是会不会涉及到集群,集群下怎么给某一台设备发消息(我面试老是被问)...
|
8
fe619742721 2022-04-06 14:11:00 +08:00
@coolair 纯前端来猜一下,一个想法大概率不对,上报请求只需要打到 nginx 产生日志就可以了,api-service 可以慢慢去捞日志读,这种场景下物联网上报请求我猜都不需要成功返回
|
9
sss15 2022-04-06 14:19:37 +08:00
@fe619742721 上报请求只需要打到 nginx 产生日志就可以了。 妙啊,实在是妙
|
10
masterclock 2022-04-06 14:29:00 +08:00
MQTT 、CoAP 、HTTP ,大量设备的,只见过这三种在用的
|
11
leeyuzhe 2022-04-06 14:31:57 +08:00
mqtt ,然后塞到 kafka ,下面微服务应用处理数据,最后再上个时序数据库保存结果,全部都支持分布式
|
12
hhxiaolei 2022-04-06 19:22:59 +08:00 via Android
可以用 nodejs 放入阿里云函数计算
|
13
leipengcheng 2022-04-07 09:22:34 +08:00
我之前用的就是 mqtt
|