一个用 Go 语言开发的分布式 MySQL Binlog 存储系统

2019-01-02 09:56:58 +08:00
 flikecn

近期开源了一个自己的项目:kingbus,感兴趣的可以看看。:)

https://github.com/flike/kingbus

kingbus 简介

kingbus 是一个基于 raft 强一致协议实现的分布式 MySQL binlog 存储系统。它能够充当一个 MySQL Slave 从真正的 Master 上同步 binglog,并存储在分布式集群中;同时又充当一个 MySQL Master 将集群中的 binlog 同步给其他 Slave。kingbus 具有如下特性:

为什么需要 kingbus ?

  1. 降低 Master 的负载和网络传输流量。在一主多从的复制拓扑中,Master 需要发送 binlog 到各个 slave,如果 slave 过多的话,网络流量很有可能达到 Master 的网卡上限,同时 Master 上负载也会过高。
  2. 简化主从复制拓扑,不再需要多级复制。
  3. 简化 Master Failover 流程,只需将其中的一个 Slave 提升为 Master,并将 kingbus 指向新的 Master,其他 slave 复制拓扑保持不变。
  4. 减少 Master 上的 binlog 存储空间,将 binlog 都存储到 kingbus 中。
  5. 支持异构复制。其他异构复制组件可以连接在 kingbus 上。
8100 次点击
所在节点    MySQL
44 条回复
vinsoncou
2019-01-03 15:09:13 +08:00
@flikecn 支持多主同步么?
flikecn
2019-01-03 17:01:59 +08:00
@vinsoncou 不支持,单个 kingbus 只能有一个主。
vinsoncou
2019-01-04 11:14:07 +08:00
@flikecn 后期会支持么?
flikecn
2019-01-04 17:00:04 +08:00
@vinsoncou 暂时不考虑支持多源复制,建议搭建多套 kingbus 支持。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/523002

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX