1、开发语言:
RabbitMQ是Erlang语言开发的;
RocketMQ是Java语言开发的。
2、协议支持:
RabbitMQ使用一种开放式的消息协议(AMQP,高级消息队列协议),支持多种编程语言和消息模式;
RocketMQ使用自定义的协议(MQTT,消息队列遥测传输),是一种轻量级的发布/订阅协议,具有低延迟、高吞吐量的特点。
3、顺序性:
RabbitMQ不保证消息的顺序性;
RocketMQ严格保证消息的顺序性,相同分区消息一定是按照消息发送的顺序进行处理的。
4、持久化:
RabbitMQ将消息持久化到磁盘,系统崩溃重启,不会丢失消息;
RocketMQ也会将消息持久化到磁盘,但是也会缓存在内存中,所以系统崩溃时,可能会丢失一些数据。
5、可扩展性:
RabbitMQ是单体架构的系统,不支持分布式部署;
RocketMQ水平扩展能力强,可以通过增加节点的方式扩充系统。
RocketMQ可以支撑更多的消息数据。
通过多Master多Slave的同步双写和异步复制模式,提供了高可用性;
支持同步、异步、单向三种消息发送方式,提供了高可靠性;
支持分布式事务消息、消息过滤、顺序消息、定时消息、延迟消息。
===^^===
下面是介绍《榴芒客服系统》的博客,它是我们工作室开发的在线客服系统,欢迎下载试用:
《榴芒客服系统》
https://blog.csdn.net/look4liming/article/details/164755808