Broker

作用:消息中转角色。
负责存储消息,转发消息。
一般也称为Server。在JMS规范中称为: Provider

组成模式:
两两一组,四个,两主两从。
Master 干活,Slave 作为备节点,据说新版本会增加主备切换。

Broker 几个关键点:

  1. 负载均衡
  2. 可用性

1.负载均衡

  1. 一个topic分布在多个broker上,一个broker可以配置多个topic,它们是多对多的关系。
  2. 如果某个topic消息量很大,应该给它多配置几个队列,并且尽量多分布在不同broker上,减轻某个broker的压力。
  3. topic消息量都比较均匀的情况下,如果某个broker上的队列越多,则该broker压力越大。

2.可用性

由于消息分布在各个broker上,一旦某个broker宕机,则该broker上的消息读写都会受到影响。所以rocketmq提供了master/slave的结构,salve定时从master同步数据,如果master宕机,则slave提供消费服务,但是不能写入消息,此过程对应用透明,由rocketmq内部解决。