MQTT和EMQ是什么关系? 您所在的位置:网站首页 mqtt与activemq MQTT和EMQ是什么关系?

MQTT和EMQ是什么关系?

2023-03-23 13:30| 来源: 网络整理| 查看: 265

一般是emq broker暴露MQTT的1883/ MQTTS的8883端口,现场的许多网关通过MQTT协议作为MQTT client与emq进行pub/ sub消息。

下图是IBM的架构。bluemix IoT foundation相当于MQTT broker,bluemix message hub相当于kafka消息中间件集群。

下图是亚马逊aws的aws IoT的工作原理。

message broker支持MQTT和http和基于websocket的MQTT协议,与设备通信。IoT rules使用表达式来筛选消息,然后把设备数据插入dynamodb,调用lambda函数提取数据,把数据发送到sqs队列等。

下图是aws IoT的一个参考架构。

总之,这种架构大都大同小异。把下图的kafka看成一般的消息中转服务即可。kafka消费者可以有多个consumer group,每个group拿走所需的消息,然后再转发给实时内存数据库、历史数据库、流处理引擎之类的后端服务。

在emq后面你自己写程序,可以用任何编程语言通过MQTT客户端库与emq进行交互,接收网关发送的MQTT消息,也可以publish消息给网关。只要这种语言有对应的MQTT客户端库就可以。

至于用不用erlang开发,只不过正巧emq和rabbitmq都是用erlang开发的,但是这个跟你准备用啥语言开发一点关系都没有。

你的程序接受到MQTT消息后,就可以作为消息中间件的producer转发给消息中间件,你这里选的是Rabbit mq,但是也可以用activemq, kafka之类的。这个消息中间件的作用是解耦消息解析和消息分发处理的业务逻辑,让其他应用作为消息中间件的consumer可以订阅消费它所需的消息。

MQTT是IBM制定的物联网通信协议。可以先读下3.1.1版本MQTT协议标准文档,有中文版。

emq是华为出来的人开发的遵循MQTT等协议的MQTT broker。官网有详细使用文档。有开源版本和收费的企业版。

RabbitMQ不能称之为中间件,更准确的说法是amqp协议的一种broker实现。

加微信群

需要加【物联网前沿技术观察】微信群的小伙伴,请加微信号iot1999,申请入群。

群内不定期分享物联网、工业4.0、边缘计算、雾计算的最新前沿技术和相关资料。

更多精彩文章,请关注我的专栏:物联网前沿技术观察

我的专栏文章目录索引:与子同袍:【物联网前沿技术观察】专栏目录索引



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有