Day16 RocketMQ 集群 场景问题梳理

2024-12-15  本文已影响0人  小周爱吃瓜

deldger 消一致性.
Dlegger 集群 主节点是选举产生的.
slave 投票选举产生.

Raft 协议 先到先得,少数服从多数

MemberState 选举看这个类即可.

Statemachine 状态机
Rpc 请求 io.openmessaging.storage.dledger.protocol

-- 消息丢失:
producer->broker 磁盘 -> consumer

Screenshot 2024-12-16 at 00.31.23.png
  1. 发送端
    rocketmq 同步异步Oneway
    kafka 同步和异步发送

主从同步数据如何不丢失?

slave 只是做一个数据备份,但是主从同步失败了,那么Broker这部分也就失败了。

ASYNC_MASTER: 异步同步的主节点
SYNC_MASTER 同步的主节点
SLVE 从节点..

deldger 2阶段提交,多数同意.

消费端 confirm机制,回传状态.

MQ挂掉的情况

Screenshot 2024-12-16 at 00.39.10.png

先写到降级缓存中,然后启动线程不断获取数据,往MQ里面投递,等MQ恢复,继续往下游推。 说白了就是缓存兜底.

Screenshot 2024-12-16 at 00.41.10.png

幂等

生产端: 消息设置唯一的msgId,通过这个id就可以判断是否重复投递过.
消费端: 很多策略
大量消息,临时topic

上一篇 下一篇

猜你喜欢

热点阅读