问个RocketMQ问题?-[阿里云_云淘科技]

问个RocketMQ问题啊
broker的role是SYNC_MASTER
然后从节点没有启动
在5.1.3里面发送消息,会正常返回SEND_OK
在5.X之前的版本,会返回SLAVE_NOT_AVAILABLE

这块的代码,我看5.1.3里面,在HAService的isSlaveOK没有调用.
这里是改变了处理的策略么?我看官网上面这部分描述和之前是一样的,应该返回SLAVE_NOT_AVAILABLE

以下为热心网友提供的参考意见

可以看一下
https://github.com/apache/rocketmq/wiki/RIP-34-Support-quorum-write-and-adaptive-degradation-in-master-slave-architecture
totalReplicas和inSyncReplicas都设置为2应该就是SLAVE_NOT_AVAILABLE了。此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

以下为热心网友提供的参考意见

Broker在RocketMQ中的角色主要有Master和Slave两种。Master主要用于处理生产者、消费者的请求和存储数据,而Slave则是从Master同步所有数据到本地。Broker同步数据的方式有两种:同步复制和异步复制。同步复制是指客户端发送消息到Master,Master将消息同步复制到Slave的过程,可以通过设置参数brokerRole=BrokerRole.SYNC_MASTER来实现。这种消息配置的可靠性很强,但是效率比较低,适用于金融、在线教育等对消息有强可靠需求的场景。异步复制是指客户端发送消息到Master,再由线程HAService异步同步到Slave的过程,可以通过设置参数brokerRole=BrokerRole.ASYNC_MASTER来实现。这种消息配置的效率非常高,可靠性比同步复制差,适用于大部分业务场景。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/14797.html

(0)
匿名
上一篇 2023年12月4日
下一篇 2023年12月4日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。