RocketMQ消息高可靠详解
消息 详解 可靠 rocketmq
2023-06-13 09:18:13 时间
文章目录
- 消息同步策略
- 殊途同归
- 同步基于offset而不是消息本身
- 刷盘策略 RocketMQ broker服务端以组为单位提供服务的,拥有着一样的brokerName则认为是一个组。其中brokerId=0的就是master,大于0的则为slave。
消息同步策略
master和slave都可以提供读服务,但是只有master允许做写入操作,slave仅从master同步数据并不断上报自己的同步进度(slave自己的物理max offset)。
在Broker配置中,如果是有三个可选的brokerRole:ASYNC_MASTER、SYNC_MASTER、SLAVE
。也就是说Master其实是分两种,决定其不同消息同步方式。
ASYNC_MASTER
是异步复制的方式,生产者写入消息到Master后无需等待消息复制到slave即可返回,消息的复制由旁路线程进行异步复制。
SYNC_MASTER
是同步复制的方式,表现出来的是类似同步双写的策略。即Master写入完消息之后,需要等待Slave的复制成功。注,这里只需要有一个Slave复制成功并成功应答即算成功,所以在这种模式下,如果有3个Slave,当生产者获得SEND_OK的应答时,代表消息已经达到Maser和一个Slave(注:这里并不代表已经持久化到磁盘,而只能证明肯定到了Pa
相关文章
- 关于MQ的几件小事(二)如何保证消息队列的高可用
- IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践
- rabbitMQ轮训分发消息
- 如何保证消息队列的可靠性传输?
- 详解 Apache Pulsar 消息生命周期
- 配置Spring Cloud Bus并集成消息代理示例
- 使用 Spring Cloud Bus 向指定的微服务发送消息
- Redis实现消息的发布订阅原理分析
- redis实现消息队列教程详解数据库
- 消息队列中间件详解架构师
- 循环队列 作为消息队列详解程序员
- 消息订阅之Kafka详解大数据
- jms+spring+activemq配置(发送和接收消息)详解编程语言
- WebSocket实现android消息推送详解编程语言
- Spring Cloud 入门教程(十):和RabbitMQ的整合 — 消息总线Spring Cloud Netflix Bus详解编程语言
- c++消息队列的实现详解编程语言
- Java消息队列–ActiveMq详解编程语言
- SAP常用知识点{系统变量|TCODE|消息类型|数据类型|变量声明|Internal Table}详解编程语言
- Go语言ICMP协议:向主机发送消息
- 从Redis中获取消息一种新的存储方式(消息存入redis)
- Oracle实时消息推送实现主动通知(oracle主动发送通知)
- 利用Redis实现订阅消息的广播(redis订阅消息广播)
- 实现消息驱动的轻量级神器 Redis自带订阅推送(redis自带订阅推送)
- vc中SendMessage自定义消息函数用法实例
- windows消息和消息队列实例详解