MySQL:半同步(一)主库端初始化流程
作者简介:高鹏,笔名八怪。《深入理解MySQL主从原理》图书作者,同时运营个人公众号“MySQL学习”,持续分享遇到的有趣case以及代码解析!
源码版本 5.7.29 半同步部分一共分为4节,为2021年春节前夕学习,时间短主要用于后期确认问题。也希望对象熟悉半同步的朋友有所帮助。如果有误请谅解。
一、内部结构
1、全局变量
- ReplSemiSyncMaster repl_semisync:半同步插件结构,全局变量。
- Ack_receiver ack_receiver:ack_receiver全局变量。
2、ReplSemiSyncBase类
继承自Trace类 主要元素为
static const unsigned char kSyncHeader[2]; /* three byte packet header */
/* Constants in network packet header. */
static const unsigned char kPacketMagicNum;
static const unsigned char kPacketFlagSync;