Broker
作用:消息中转角色。
负责存储消息,转发消息。
一般也称为Server
。在JMS规范中称为: Provider
。
组成模式: 两两一组,四个,两主两从。 Master 干活,Slave 作为备节点,据说新版本会增加主备切换。
Broker 几个关键点:
- 负载均衡
- 可用性
1.负载均衡
- 一个topic分布在多个broker上,一个broker可以配置多个topic,它们是多对多的关系。
- 如果某个topic消息量很大,应该给它多配置几个队列,并且尽量多分布在不同broker上,减轻某个broker的压力。
- topic消息量都比较均匀的情况下,如果某个broker上的队列越多,则该broker压力越大。
2.可用性
由于消息分布在各个broker上,一旦某个broker宕机,则该broker上的消息读写都会受到影响。所以rocketmq提供了master/slave的结构,salve定时从master同步数据,如果master宕机,则slave提供消费服务,但是不能写入消息,此过程对应用透明,由rocketmq内部解决。