rocketmq

NameServer

Nameserver主要有两项功能:

broker管理,nameserver接受broker集群的注册,并提供心跳机制来检验broker是否存活。

路由管理,每个nameserver会持有broker集群的所有路由信息和客户端查询的队列信息。

client会从nameserver中查询队列的路由信息,那么client是怎么找到nameserver的地址呢?有四种方式:

    1、编程方法,producer.setNamesrvAddr("ip:port")

      2.Java选项,rocketmq.namesrv.addr

      3.环境变量,用NAMESRV_ADDR

      4.Endpoint

Broker server

负责消息存储和发送,消息查询,HA(高可靠性)保证等。如下图所示,Broker server用以下几个重要的子模块:

远程模块,broker的入口,处理client请求。

客户端管理,管理clients(Producer/Consumer),保持consumer的主题订阅信息。

存储服务,提供简单的api来存储或查询消息,在物理磁盘上。

HA服务,在提供broker之前的主从同步。

索引服务,对特定key的消息生成索引,提供快速的消息查询。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值