基於Raft的分散式MySQL Binlog儲存系統開源
近期開源了一個自己的專案:kingbus,感興趣的可以看看。 https://github.com/flike/kingbus
kingbus 簡介
kingbus 是一個基於 raft 強一致協議實現的分散式 MySQL binlog 儲存系統。它能夠充當一個 MySQL Slave 從真正的 Master 上同步 binglog,並儲存在分散式叢集中;同時又充當一個 MySQL Master 將叢集中的 binlog 同步給其他 Slave。kingbus 具有如下特性:
-
相容 MySQL 複製協議,通過 Gtid 方式同步Master 上的 binlog,同時支援 slave 通過 Gtid 方式從 kingbus 拉取 binlog。
-
跨地域資料複製,kingbus 通過 raft 協議支出跨地域間的資料複製。寫入到叢集的 binlog 資料在多個節點間保證強一致,並保證 binlog 順序與 master 上完全一致。
- 高可用,由於 kingbus 是構建在 Raft 強一致協議之上,能夠實現叢集中過半數節點存活的情況下,整個 binlog 拉取和推送服務高可用。
為什麼需要 kingbus ?
- 降低 Master 的負載和網路傳輸流量。在一主多從的複製拓撲中,Master 需要傳送 binlog 到各個 slave,如果 slave 過多的話,網路流量很有可能達到 Master 的網路卡上限,同時 Master 上負載也會過高。
- 簡化主從複製拓撲,不再需要多級複製。
- 簡化 Master Failover 流程,只需將其中的一個 Slave 提升為 Master,並將 kingbus 指向新的 Master,其他 slave 複製拓撲保持不變。
- 減少 Master 上的 binlog 儲存空間,將 binlog 都儲存到 kingbus 中。
- 支援異構複製。其他異構複製元件可以連線在 kingbus 上。
相關文章
- 騰訊重磅開源分散式NoSQL儲存系統DCache分散式SQL
- 提升Raft以加速分散式鍵值儲存Raft分散式
- 基於內容定址的分散式儲存系統IPFS,你怎麼看?分散式
- 分散式系統理論基礎6:Raft、Zab分散式Raft
- 分散式系統的Raft演算法分散式Raft演算法
- Bayou複製分散式儲存系統分散式
- juicefs:一個基於Redis和雲物件儲存的分散式POSIX檔案系統UIRedis物件分散式
- 基於MFS高可用的分散式儲存架構分散式架構
- IPFS分散式儲存挖礦技術系統開發分散式
- 編寫你的第一個 Java 版 Raft 分散式 KV 儲存JavaRaft分散式
- 分散式儲存系統可靠性:系統量化估算分散式
- 分散式儲存系統可靠性如何估算?分散式
- 分散式kv儲存系統之Etcd叢集分散式
- 分散式儲存與傳統網路儲存系統相比有哪些區別分散式
- 分散式儲存系統的最佳實踐:系統發展路徑分散式
- 必須掌握的分散式檔案儲存系統—HDFS分散式
- [技術思考]分散式儲存系統的雪崩效應分散式
- 分散式系統中的資料儲存方案實踐分散式
- IPFS分散式儲存挖礦系統開發軟體技術分散式
- 通過Consul Raft庫打造自己的分散式系統Raft分散式
- 杉巖PACS影像系統分散式儲存架構分散式架構
- 分散式系統技術:儲存之資料庫分散式資料庫
- 分散式系統中資料儲存方案實踐分散式
- 分散式檔案儲存系統 fastdfs 的 Composer 包釋出!分散式AST
- 基於滴滴雲搭 SeaweedFS 儲存系統
- 分散式系統之Raft共識演算法分散式Raft演算法
- HDFS分散式儲存分散式
- Redis 分散式儲存Redis分散式
- 基於SSM開發的企業進存銷系統 JAVA MySQLSSMJavaMySql
- GFS分散式檔案系統、結合實驗分析各種儲存卷的特點。深入刨析分散式儲存的方式。分散式
- 基於 Golang 開發的分散式定時任務管理系統Golang分散式
- 用於分散式系統法定人數仲裁的開源庫包:Quoracle分散式Oracle
- 基於 NVMe SSD 的分散式檔案儲存 UFS 效能提升技術解析分散式
- 使用開源技術構建有贊分散式 KV 儲存服務分散式
- 滴滴Ceph分散式儲存系統優化之鎖優化分散式優化
- Hadoop 三劍客之 —— 分散式檔案儲存系統 HDFSHadoop分散式
- 如何基於MySQL及Redis搭建統一的KV儲存服務MySqlRedis
- GlusterFS分散式儲存系統中更換故障Brick的操作記錄分散式