消费负载均衡问题

有些使用者认为同一个组内的消费者消费同一个topic下的消息时在消息条数上应该严格平均,这其实是一个理解上的偏差,负载均衡的实现原理如下:一个topic下会有多个逻辑队列consumequeue,发送消息时会轮询往各个逻辑队列发送消息,在消费时根据订阅同一topic的consumer数量平均分配逻辑队列数,然后consumer从分配的队列拉取消息。

消息发送成功的理解

有些使用者使用时通过生产者发送一定数量消息然后通过命令查询consumequeue队列消息数量发现少于发送的消息数量就认为是发送消息丢失,出现此种问题需要查看所有消息是否都真正发送成功,只有发送消息后发送状态为SEND_OK时才表明发送成功,其他状态都不表示成功。

集群中kill掉一个主备然后立即启动主机为什么会出现先以slave角色启动然后再转化为master?

ZMQ主备切换通过zookeeper实现,主机宕机后zookeeper节点数据会保存30S才会被删除,这时如果立即启动broker的话broker发现zookeeper存储主机节点的数据还存在这时只能以slave角色启动,之后节点数据过期被删除后broker注册成为master。

ZMQ集群中只剩最后一个主备的话master宕机或是slave宕机发送消息会失败吗?

集群中剩最后一个主备情况下,当使用异步复制数据情况下slave宕机发送消息不会失败,master宕机后slave会切换为主机,但是切换为master需要一定时间,这段时间内发送消息会失败。

具体刷盘方式设置

虽然同步刷盘可靠性较高但是同步刷盘效率很低,部署时建议设置为异步刷盘。

ZMQManager使用问题

使用ZMQManager时建议部署7.0以上版本tomcat,低版本会出现无法登陆问题,详细使用和部署参考ZMQManager部署手册和ZMQManager使用手册。

results matching ""

    No results matching ""