RocketMQ学习笔记

RocketMQ是一个消息中间件,有阿里开发并捐献apache的开源项目

类似的消息中间件包括:activeMQ, RabbitMQ,商用的IBMMQ

该系统支持分布式集群,包括四部分:nameServer, broker,consumer,producer

该系统的特点为:

1.能够保证严格的消息顺序
2.提供丰富的消息拉取和推送模式
3.高效的订阅者水平扩展能力
4.实时的消息订阅机智
5.亿级消息堆积能力
 

NameServer作用

nameServer顾名思义,在系统中肯定是做命名服务,服务治理方面的工作,功能应该是和zookeeper差不多,据我了解,RocketMq的早期版本确实是使用的zookeeper,后来改为了自己实现的nameserver。

现在来看一下nameServer在RocketMQ中的两个主要作用:

  • NameServer维护了一份Broker的地址列表和,broker在启动的时候会去NameServer进行注册,会维护Broker的存活状态.

  • NameServer维护了一份Topic和Topic对应队列的地址列表,broker每次发送心跳过来的时候都会把Topic信息带上.

namerServer上维护了很多broker和topic等信息,通过netty和broker进行长连接来保持和broker的通信,同时会提供心跳检测、数据更新查询等常规服务。

 

 

posted on 2018-03-20 16:00  jesh_zhu  阅读(198)  评论(0)    收藏  举报

导航