rocketmq 一主多从 的同步机制
来源:互联网 发布:linux fat挂载移动硬盘 编辑:程序博客网 时间:2024/06/03 17:50
一个master 多个slave下,数据是怎么同步的。
其实是master 维持一个 变量,如果是同步双写的的时候,将这个变量置为对应的offset。然后不停地查看slave上报的进度有没有超过这个进度,一旦超过,就是证明slave
写入成功。返回,否则就是超时。但是最终slave还是会赶上来的。
两个slave会上报两个进度,所以,只有slave进度超过push2SlaveMaxOffset的时候,push2SlaveMaxOffset才会替换。
所以,只要有一个salve达到要求,就会notifywakeup。因为是锁一个信号量,所以就当做成功了。
所以一主多从的本质是,所有salve你们各自拉去数据并上报,如果我需要同步双写等待时,我就不停地验证
push2SlaveMaxOffset 是否超过需要的offset。
一旦超过,就返回。
前面是用countlantch 锁住一个信号量,所以一个成功就是成功了,这就是一主多从的同步机制,也是一主一从的机制。
写的那时候应该都是各自拉取的
阅读全文
0 0
- rocketmq 一主多从 的同步机制
- 从磁盘同步看linux的机制和策略
- 同步多线程的同步机制
- ROCKETMQ 主从切换机制
- Rocketmq 配置双主双从
- 线程的同步机制
- PDNS的同步机制
- 多线程的同步机制
- java的同步机制
- Linux的同步机制
- 进程同步的机制
- Gstreamer的同步机制
- 线程的同步机制
- 线程的同步机制
- 同步的机制(一)
- Java的同步机制
- 可靠的同步机制、通信机制
- Linux内核的同步机制
- Struts2部分知识点
- A Dangerous Maze (II) LightOJ
- SpringMVC部分知识点
- Mybatis部分知识点
- mac 各种问题汇总
- rocketmq 一主多从 的同步机制
- 分布式锁机制
- python 常用的内置模块使用
- 数位dp 总结 51nod数字1的数量 数字0-9的数量
- 八 、DockerUI与Shipyard以及InfluxDB+cAdvisor+Grafana配置监控
- 合法回文-计蒜客
- javascript克隆对象
- 从btree的角度来说说为什么插入频繁的mysql innodb表必须要自增id 必须自增id
- 一个bug引发的哲学思考