面试问题求教:如何处理海量物联网设备数据(并发上报),如何处理与海量物联网设备通信? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
coolair
V2EX    问与答

面试问题求教:如何处理海量物联网设备数据(并发上报),如何处理与海量物联网设备通信?

  •  
  •   coolair 2022-04-06 11:13:09 +08:00 1786 次点击
    这是一个创建于 1289 天前的主题,其中的信息可能已经有所发展或是发生改变。
    13 条回复    2022-04-07 09:22:34 +08:00
    sss15
        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 本身如何优化就暂时不清楚了
    murmur
        2
    murmur  
       2022-04-06 13:57:28 +08:00
    意义不明,你是架设物理层还是数据处理呢,如果是 2g 的东西,本身他可以联网,就是一般并发的东西了,最多是实时数据库

    如果是物联网,那么这又是硬件问题了,怎么妥善收集数据成了面试点
    rabbbit
        3
    rabbbit  
       2022-04-06 14:06:08 +08:00
    物联网设备一般都用啥协议?
    coolair
        4
    coolair  
    OP
       2022-04-06 14:08:0 +08:00
    @sss15 兄弟说的很好啊,搞不好我这么说就过了,那 api service 如何接受高并发大量小数据呢?
    Uyuhz
        5
    Uyuhz  
       2022-04-06 14:08:40 +08:00
    @rabbbit mqtt ,自定义协议(比如 jt808 ),protobuf 之类的
    ThirdFlame
        6
    ThirdFlame  
       2022-04-06 14:08:50 +08:00
    不是用 mqtt 么
    Uyuhz
        7
    Uyuhz  
       2022-04-06 14:10:37 +08:00
    这里还有个问题就是会不会涉及到集群,集群下怎么给某一台设备发消息(我面试老是被问)...
    fe619742721
        8
    fe619742721  
       2022-04-06 14:11:00 +08:00
    @coolair 纯前端来猜一下,一个想法大概率不对,上报请求只需要打到 nginx 产生日志就可以了,api-service 可以慢慢去捞日志读,这种场景下物联网上报请求我猜都不需要成功返回
    sss15
        9
    sss15  
       2022-04-06 14:19:37 +08:00
    @fe619742721 上报请求只需要打到 nginx 产生日志就可以了。 妙啊,实在是妙
    masterclock
        10
    masterclock  
       2022-04-06 14:29:00 +08:00
    MQTT 、CoAP 、HTTP ,大量设备的,只见过这三种在用的
    leeyuzhe
        11
    leeyuzhe  
       2022-04-06 14:31:57 +08:00
    mqtt ,然后塞到 kafka ,下面微服务应用处理数据,最后再上个时序数据库保存结果,全部都支持分布式
    hhxiaolei
        12
    hhxiaolei  
       2022-04-06 19:22:59 +08:00 via Android
    可以用 nodejs 放入阿里云函数计算
    leipengcheng
        13
    leipengcheng  
       2022-04-07 09:22:34 +08:00
    我之前用的就是 mqtt
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     912 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 20:01 PVG 04:01 LAX 13:01 JFK 16:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86