消息队列常用协议

原文地址:https://www.kuangstudy.com/zl/rabbitmq#1366029180994654209

AMQP 协议

支持者者: RabbitMQ、ACTIVEMQ

AMQP:(全称:Advanced Message Queuing Protocol)
是高级消息队列协议。由摩根大通集团联合其他公司共同设计。是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有RabbitMQ等。
特性:
1.分布式事务支持。
2.消息的持久化支持。
3.高性能和高可靠的消息处理优势。

MQTT 协议

支持者: RabbitMQ、ACTIVEMQ

MQTT协议:(Message Queueing Telemetry Transport)消息队列是IBM开放的一个即时通讯协议,物联网系统架构中的重要组成部分。
特点:
1.轻量
2.结构简单
3.传输快,不支持事务
4.没有持久化设计。
应用场景:
1.适用于计算能力有限
2.低带宽
3.网络不稳定的场景。

OpenMessage 协议

支持者: Apache RocketMQ

是近几年由阿里、雅虎和滴滴出行、Stremalio 等公司共同参与创立的分布式消息中间件、流处理等领域的应用开发标准。
特点:
1:结构简单
2:解析速度快
3:支持事务和持久化设计。

Kafka 协议

支持者:Kafka

Kafka协议是基于TCP/IP的二进制协议。消息内部是通过长度来分割,由一些基本数据类型组成。
特点是:
1:结构简单
2:解析速度快
3:无事务支持
4:有持久化设计