上篇文章消息队列那么多,为什么建议深入了解下RabbitMQ?我们讲到了消息队列的发展史:
并且详细介绍了RabbitMQ,其功能也是挺强大的,那么,为啥又要搞一个RocketMQ出来呢?是重复造轮子吗?本文我们就带大家来详细探讨RocketMQ究竟好在哪里。
RocketMQ是一个分布式消息中间件,具有低延迟、高性能和可靠性、万亿级别的容量和灵活的可扩展性。它是阿里巴巴于2012年开源的第三代分布式消息中间件。
随着阿里巴巴的电商业务不断发展,需要一款更高性能的消息中间件,RocketMQ就是这个业务背景的产物。RocketMQ是一个分布式消息中间件,具有低延迟、高性能和可靠性、万亿级别的容量和灵活的可扩展性,它是阿里巴巴于2012年开源的第三代分布式消息中间件。RocketMQ经历了多年双十一的洗礼,在可用性、可靠性以及稳定性等方面都有出色的表现。值得一提的是,RocketMQ最初就是借鉴了Kafka进行改造开发而来的,所以熟悉Kafka的朋友,会发现RocketMQ的原理和Kafka有很多相似之处。
RocketMQ前身叫做MetaQ,在MeataQ发布3.0版本的时候改名为RocketMQ,其本质上的设计思路和Kafka类似,因为最初就是基于Kafka改造而来,经过不断的迭代与版本升级,2016年11月21日,阿里巴巴向Apache软件基金会捐赠了RocketMQ 。近年来被越来越多的国内企业使用。
本文带大家从以下几个方面详细了解RocketMQ:
- RocketMQ如何保证消息存储的可靠性?
- RocketMQ如何保证消息队列服务的高可用?
- 如何构建一个高可用的RocketMQ双主双从最小集群?
- RocketMQ消息是如何存储的?
- RocketMQ是如何保证存取消息的效率的?
- 如何实现基于Message Key的高效查询?
- 如何实现基于Message Id的高效查询?
- RocketMQ的Topic在集群中是如何存储的?
- Broker自动创建Topic会有什么问题?
- RocketMQ如何保证消息投递的顺序性?
- RocketMQ如何保证消息消费的顺序性?
- 实现分布式事务的手段有哪些?
- RocketMQ如何实现事务消息?
- RocketMQ事务消息是如何存储的?