MQ
MQ可以应用于 应用解耦、流量削峰、消息分发。还可以保证最终一致性、方便动态扩容等功能。
Product Consumer Broker NameServer cluster
发信者 收信者 负责传输 调度室 集群
nameserver是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。
broker分为master与slave,一个master可以对应多个slave。但是一个slave只能对应一个master。master与slave的对应关系
通过指定的brokerName,不同的brokerId来定义。brokerId为0表示master,非0表示slave。master也可以部署多个。
每个broker与name server集群中的所有节点建立长连接,定时注册topic信息到所有name server。
为了消除单点故障,增加可靠性或增大吞吐量,可以在多台机器上部署多个NameServer和Broker,为每个Broker部署一个或多个slave.
topic:如果一个topic要发送和接收的数据量非常大,需要能支持增加并行处理的机器来提高处理速度,这时候一个topic
可以根据需求设置一个或多个message queue。message queue类似分区或partition。Topic有了多个queue后,消息
可以并行地向各个message queue发送,消费者也可以并行地从多个queue读取消息并消费。
多机集群配置和部署:搭建双主 双从 无单点故障的高可用MQ集群。
MQ的常用命令
1.创建/修改topic
2.删除topic
3.创建/修改订阅租
订阅组在提高系统的高可用性和吞吐量方面扮演着重要的角色,比如用cluster模式消费一个topic里面的消息内容时
可以启动多个消费者并行消费,每个消费者只消费topic里消息的一部分,以此提高消费速度。这个时候就是通过订阅组
来指明哪些消费者是同一组,同一组的消费者共同消费同一个topic里的内容。订阅组可以被自动创建,使用这个命令
一般是来修改订阅组,指令是updateSubGroup.
拥有以下参数功能:1.broker地址,创建订阅组所在的broker
2.cluster名称,创建订阅组所在的cluster
3.