文章目录
- mqtt 与 mq的区别
- mqtt 与 mq的详细区别
- 传统消息队列RocketMQ和微消息队列MQTT对比:
- MQ与RPC的区别
mqtt 与 mq的区别
mqtt:一种通信协议,规范
MQ:一种通信通道(方式),也叫消息队列
MQTT是在TCP之上的应用层协议,对物联网应用环境做了非常多的优化,TCP是传输层协议,是更通用层的协议。
mqtt 与 mq的详细区别
消息协议概念:
- 消息协议:为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析消息),它们就需要按照一种统一的格式描述消息,这种统一的格式称之为消息协议。所以,有效的消息一定具有某一种格式;而没有格式的消息是没有意义的。
消息从发送者到接收者的方式也有两种。
- 一种为即时
消息通讯
,也就是说消息从一端发出后(消息发送者)立即就可以达到另一端(消息接收者),这种方式的具体实现就是RPC(当然单纯的http通讯也满足这个定义); - 另一种为
延迟消息通讯
,即消息从某一端发出后,首先进入一个容器进行临时存储,当达到某种条件后,再由这个容器发送给另一端。 这个容器的一种具体实现就是消息队列
传统消息队列RocketMQ和微消息队列MQTT对比:
-
传统的消息中间件,例如消息队列 RocketMQ、消息队列 RabbitMQ kafka 等都是面向微服务大数据等领域,负责消息的存储和转发,消息的生产者和消费者都是服务端应用。
-
而移动互联网和 IoT 领域则有所不同,这类场景更侧重于多语言多平台的海量设备接入,消息的生产和消费过程的业务属性很突出,传统的消息中间件并不适合这些领域。
-
微消息队列 MQTT 在设计上是一个面向移动互联网和 IoT 领域的
无状态网关,
只关心海量移动端设备的接入、管理和消息传输
基于下图我们可以大概了解,MQTT是架在服务端和客户端之间他可以分发给多个客户端。而RocketMQ是架在服务器与服务器之间。
参考博文:https://blog.csdn.net/chongbin007/article/details/103001734
MQ与RPC的区别
分布式系统消息通信技术:MOM与RPC
在分布式服务器和服务器通信时,RPC可以解决问题。而使用消息队列一个主要优势就是,增加消息的堆积能力,也就是类似于Java线程池实现基本原理就是消息中间件。