RocketMQ出自阿里公司的开源产品,用 Java 语言实现,在设计时参考了 Kafka,并做出了自己的一些改进,消息可靠性上比 Kafka 更好。RocketMQ在阿里集团被广泛应用在订单,交易,充值,流计算,消息推送,日志流式处理,binglog分发等场景。
需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码
RocketMQ的主要特性有:
是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式特点;
Producer、Consumer、队列都可以分布式;
Producer向一些队列轮流发送消息,队列集合称为Topic,Consumer如果做广播消费,则一个consumer实例消费这个Topic对应的所有队列,如果做集群消费,则多个Consumer实例平均消费这个topic对应的队列集合;
能够保证严格的消息顺序;
提供丰富的消息拉取模式;
高效的订阅者水平扩展能力;
实时的消息订阅机制;
亿级消息堆积能力;
较少的依赖;
RocketMQ的优点有:
单机支持 1 万以上持久化队列;
RocketMQ 的所有消息都是持久化的,先写入系统 PAGECACHE,然后刷盘,可以保证内存与磁盘都有一份数据;
模型简单,接口易用(JMS 的接口很多场合并不太实用);
性能非常好,可以大量堆积消息在broker中;
支持多种消费,包括集群消费、广播消费等。
各个环节分布式扩展设计,主从HA;
RocketMQ的缺点有:
支持的客户端语言不多,目前是java及c++,其中c++不成熟;
RocketMQ社区关注度及成熟度也不及前两者;
没有web管理界面,提供了一个CLI(命令行界面)管理工具带来查询、管理和诊断各种问题;
没有在消息队列的核心部分实现JMS等接口;
大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台,框架源码下载地址