RocketMQ是一个统一消息引擎、轻量级数据处理平台。RocketMQ作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。
在RocketMQ中,分为Name Server和Broker两个组件,其中Name Server用于提供Broker的地址以及Topic与Broker相关的路由关系,客户端通过Name Server来发现Broker并与之建立连接。
图-1 RocketMQ架构
生产者(Producer Cluster):消息的生产者。
消费者(Consumer Cluster):消息的消费者。
Name Server Cluster:Name Server集群,存储Broker信息及Topic路由信息的组件。
Broker Cluster:Broker集群,实际消息存储和分发的组件。
从节点数: 数据存储的副本个数,(每个节点的从节点数)。
集群健康状态:分为健康和不健康两种。
健康:集群中组件运行正常时,对应集群将处于健康状态。
不健康:集群中组件运行状态异常时,对应集群将处于不健康状态。
消息中间件RocketMQ适用于以下场景:
应用解耦:消息中间件RocketMQ可以插入应用中间,为两边应用提供接口,实现应用通过消息中间件进行通信。
异步处理:消息中间件RocketMQ提供异步处理机制,允许应用把一些消息放入消息中间件中,并不立即处理它,在之后需要的时候再处理。
流量削峰:使用消息中间件RocketMQ能够使关键组件支撑突发访问压力,不会因为突发的超负荷请求而完全崩溃。