coolair
V2EX  ›  问与答

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

  •  
  •   coolair · Apr 6, 2022 · 2151 views
    This topic created in 1514 days ago, the information mentioned may be changed or developed.
    13 replies    2022-04-07 09:22:34 +08:00
    pushMeUp
        1
    pushMeUp  
       Apr 6, 2022   ❤️ 1
    海量物联网设备数据上报后是否需要计算,还是说只需记录。 讲道理真实环境中物联网数据上报后应该要计算的,数据的计算交给 flink 非常合适。
    首先做一个 api service ,只做一个事情就是接收数据上报,然后丢入 kafka 中,flink 消费 kafka 中的数据,按流式数据进行处理,可选的操作有开一个 24 小时的窗,求最大值最小值平均值,对异常数据进行报警,将原始数据 sink 到 es 中,将汇总数据 sink 到数据库中。
    kafka 和 flink 天生就是分布式,吞吐量没问题,所以现在整个系统的瓶颈可能就是,你的 api service 怎么接收海量的数据,能扛得住高并发。这个部分我也不是很熟悉,能优化的地方就是 kafka 的连接池,让所有的消息投递都能复用同一个连接池中的链接,不用频繁开启和关闭链接。 http 本身如何优化就暂时不清楚了
    murmur
        2
    murmur  
       Apr 6, 2022
    意义不明,你是架设物理层还是数据处理呢,如果是 2g 的东西,本身他可以联网,就是一般并发的东西了,最多是实时数据库

    如果是物联网,那么这又是硬件问题了,怎么妥善收集数据成了面试点
    rabbbit
        3
    rabbbit  
       Apr 6, 2022
    物联网设备一般都用啥协议?
    coolair
        4
    coolair  
    OP
       Apr 6, 2022
    @sss15 兄弟说的很好啊,搞不好我这么说就过了,那 api service 如何接受高并发大量小数据呢?
    Uyuhz
        5
    Uyuhz  
       Apr 6, 2022
    @rabbbit mqtt ,自定义协议(比如 jt808 ),protobuf 之类的
    ThirdFlame
        6
    ThirdFlame  
       Apr 6, 2022
    不是用 mqtt 么
    Uyuhz
        7
    Uyuhz  
       Apr 6, 2022
    这里还有个问题就是会不会涉及到集群,集群下怎么给某一台设备发消息(我面试老是被问)...
    fe619742721
        8
    fe619742721  
       Apr 6, 2022
    @coolair 纯前端来猜一下,一个想法大概率不对,上报请求只需要打到 nginx 产生日志就可以了,api-service 可以慢慢去捞日志读,这种场景下物联网上报请求我猜都不需要成功返回
    pushMeUp
        9
    pushMeUp  
       Apr 6, 2022
    @fe619742721 上报请求只需要打到 nginx 产生日志就可以了。 妙啊,实在是妙
    masterclock
        10
    masterclock  
       Apr 6, 2022
    MQTT 、CoAP 、HTTP ,大量设备的,只见过这三种在用的
    ThisDay
        11
    ThisDay  
       Apr 6, 2022
    mqtt ,然后塞到 kafka ,下面微服务应用处理数据,最后再上个时序数据库保存结果,全部都支持分布式
    hhxiaolei
        12
    hhxiaolei  
       Apr 6, 2022 via Android
    可以用 nodejs 放入阿里云函数计算
    leipengcheng
        13
    leipengcheng  
       Apr 7, 2022
    我之前用的就是 mqtt
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   842 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 21:08 · PVG 05:08 · LAX 14:08 · JFK 17:08
    ♥ Do have faith in what you're doing.