Master主动向Slave发送binlog?还是Slave主动向Master要binlog?
事情背景是这样子,今天有人和我讨论了一下MySQL主从的一些东西,
在这个过程中,对方信誓旦旦,斩钉截铁的告诉我,Master主动向Slave推送binlog,说的自己都开始怀疑是自己理解错了,
毕竟一直理解的是Slave主动向Master请求binlog,Master只是那种,"你要就给你,不要就不理你"的角色
好吧,为了求证一下,跑去翻MySQL的官方文档,找到一段描述,
文章图片
以博主六级勉强及格的水平,应该没有理解错:master并不会主动去"push"(推送)日志的内容,而是由slave去主动从master去“pull”(拉取)日志
接下来的一段关于Slave I/O thread的文字也印证了一这点,
文章图片
slave的I/O thread会去向主库要求把binlog的变动发送过来
这么做的原因,看上去是在这一段描述,
文章图片
在最后做了总结,
大体上的意思:每一个slave都是完全独立的个体,所以slave完全依据自己的节奏去处理同步,和master,其他的slave没有一点关系
我的理解就是,主从虽然把多个不同角色的数据库连接在了一起,但是本身他们的耦合性很低,相互之间互不影响,防止因为某一个节点的down导致其他节点的down,至于主从同步失败,姑且认为没有到达数据库down的这种级别吧....
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29510932/viewspace-1668813/,如需转载,请注明出处,否则将追究法律责任。
【Master主动向Slave发送binlog?还是Slave主动向Master要binlog?】转载于:http://blog.itpub.net/29510932/viewspace-1668813/
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- 我们重新了解付费。
- 继续努力,自主学习家庭Day135(20181015)
- dubbo基本认识
- 爱,为孩子撑起一片空
- 全过程工程咨询——时间管理(12)
- 孤独,怕什么
- 无故.
- 成败
- 17.8.21