RocketMQ 是一个分布式消息中间件,其具有低延迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性。它主要有四部分组成,分别为 name servers,brokers,producers and consumers。
每部分都可以进行水平扩展,而不会出现单点问题。
此外,broker 也提供灾难恢复、丰富的度量统计和警报机制,所有这些能力在传统的消息传递系统里面都是没有的。
broker 在启动时候会去链接 NameServer,然后注册 topic 信息到 NameServer,NameServer 维护了所有 topic 的信息和对应的 broker 路由信息,broker 与 NameServer 之间是有心跳检查的,NameServer 发现 broker 挂了后,会从注册信息里面删除该 broker,这类似 zookeeper 实现的服务注册;producer 则需要配置 nameserver 的地址,然后定时从 NameServer 获取对应 topic 的路由信息(这个 topic 的消息应该路由到那个 broker)。
同时 producer 与 NameServer,proudcer 与 broker 有心跳检查;同理 Consumer 需要配置 NameServer 的地址,然后定时从 NameServer 获取对应 topic 的路由信息(应该从那个 broker 的消息队列获取消息),同时 Consumer 与 NameServer,Consumer 与 broker 有心跳检查。
原文:https://www.cnblogs.com/myitnews/p/12905309.html