Skip to content

双主双从集群模式下 故障演练 消费端消息消费问题 #2463

@xiaojiaoshou

Description

@xiaojiaoshou

rocketmq 选择了2主2从搭建的集群(a,a-s,b,b-s)选择的是同步复制,异步刷盘。做如下测试 ,发送消息5000条,同时生产端设置了重试次数,以及失败后转移另一台broker参数。 在生产端发送到一半的时候,kill 掉 a 主节点。 后面剩余消息会发送到b broker 上。 最终结果是 producter 生产端 5000 条都发送成功了。 但是消费端消费条数却会少于5000条,少1-3条数据。 如果此时,再去开启a broker 节点。 那么 消费端就会消费到之前缺少的几条数据。 我有点疑惑, 我的想法是,a 主节点挂掉后,消费端应该会去切换消费a-s 备份broker上的数据以及b 主节点的数据。但是在集群模式下事实并没有。在a 挂掉后,只消费了 b broker 上的消息。 为什么呢? 我又做了测试,如果只是搭建一主一从,同样采用同步复制,异步刷盘,kill 掉主节点,此时会消费备份节点的数据了。集群模式下的这种机制又是怎么样的?有点疑惑

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions