加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

说明漫衍式 MySQL Binlog 存储体系的架构计划

发布时间:2021-05-18 00:49:54 所属栏目:创业 来源:互联网
导读:storage认真存储raft log entry和Metadata,在kingbus中,将raft log和mysql binlog融合在一路了,通过差异的头部信息区分,raft log的数据部门就是binlog event

storage认真存储raft log entry和Metadata,在kingbus中,将raft log和mysql binlog融合在一路了,通过差异的头部信息区分,raft log的数据部门就是binlog event,这样就不必要分隔存储两类log,节减存储空间。由于kingbus必要存储一些元信息,譬喻raft 节点投票信息、某些非凡binlog event的详细内容(FORMAT_DESCRIPTION_EVENT)。

raft复制kingbus集群的Lead推举、日记复制等成果,行使的是etcd raft library。

binlog syncer,只运行在Raft集群的Lead节点上,整个集群只有一个syncer。syncer伪装成一个slave,向Master成立主从复制毗连,Master会按照syncer发送的executed_gtid_set过滤syncer已经接管的binlog event,只发送syncer没有吸取过的binlog event,这套复制协议完全兼容MySQL 主从复制机制。syncer收到binlog event后,会按照binlog event范例做一些处理赏罚,然后将binlog event封装成一个动静提交到raft 集群中。通过raft算法,这个binlog event就可以在多个节点存储,并到达强同等的结果。

binlog server,就是一个实现了复制协议的Master,真正的slave可以毗连到binlog server监听的端口,binlog server会将binlog event发送给slave,整个发送binlog event的进程参照MySQL 复制协议实现。当没有binlog event发送给slave时,binlog server会按期发送heartbeat event给slave,保活复制毗连。

api server,认真整个kingbus集群的打点,包罗以下内容:

raft cluster membership操纵,查察集群状态,添加一个节点、移除一个节点,更新节点信息等

binlog syncer相干操纵,启动一个binlog syncer,遏制binlog syncer,查察binlog syncer状态。

binlog server相干操纵,启动一个binlog server,遏制binlog server,查察binlog server状态。 server层的各类非常,都不会影响到raft层,server可以领略为一种插件,按需启动和遏制。往后扩展kingbus时,只必要实现相干逻辑的server就行。譬喻实现一个kafka协议的server,那么就可以通过kafka client斲丧kingbus中的动静。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读