Apache License 2.0

项目介绍

flike/kingbus 是一个托管在 GitHub 上的开源项目,主要使用 Go 编写,采用 Apache License 2.0 许可证,目前获得 891 个 Star、131 次 Fork。

仓库全名
flike/kingbus
开源许可证
Apache License 2.0
Star 数
891
Fork 数
131
未关闭 Issue
12

README 摘要

What is kingbus? 中文 Kingbus is a distributed MySQL binlog store based on raft. Kingbus can act as a slave to the real master and as a master to the slaves in the same way as an intermediate MySQL master does. Kingbus has the following key features: MySQL replication protocol compatibility, pull the binlog files from the master through gtid mode, and push the binlog file to slave through gtid mode in the same way…

完整内容见 GitHub 原始 README 或本页 。

常见问题

kingbus 用什么语言开发?

主要使用 Go 编写,采用 Apache License 2.0 许可证,目前有 891 个 Star。

kingbus 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 kingbus 的源码?

可以直接克隆仓库:git clone https://github.com/flike/kingbus.git,默认分支为 master;安装与运行步骤见仓库 README。

kingbus 最近还在维护吗?

仓库最近一次更新为 2021年3月11日,当前有 12 个未关闭 Issue;Star 数为 891,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

A distributed MySQL binlog storage system built on Raft

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1200
价值分
578
活跃状态
活跃

语言占比

Dockerfile
Go
Makefile
PLpgSQL
Shell

Release

README

Go Report Card Build Status

What is kingbus? 中文

Kingbus is a distributed MySQL binlog store based on raft. Kingbus can act as a slave to the real master and as a master to the slaves in the same way as an intermediate MySQL master does. Kingbus has the following key features:

  • MySQL replication protocol compatibility, pull the binlog files from the master through gtid mode, and push the binlog file to slave through gtid mode in the same way.

  • Geo-Replication, kingbus uses Raft to support Geo-Replication. The binlog data written to the cluster is guaranteed to be consistent between multiple nodes, and the order of binlog event is exactly the same as that on the master.

  • High availability, your mysql binlog replication is always on and continuously available with kingbus.

Why need kingbus?

In a traditional MySQL replication setup a single master server is created and a set of slaves of MySQL servers are configured to pull the binlog files from the master, putting a lot of load on the master.

  • Introducing a layer between the master server and the slave servers can reduce the load on the master by only serving kingbus instead of all the slaves.

  • The slaves will only need to be aware of kingbus and not the real master server. Removing the requirement for the slaves to have knowledge of the master also simplifies the process of replacing a failed master within a replication environment.

  • Kingbus allows us to horizontally scale our slaves without fear of overloading the network interface of the master

  • Kingbus can also be used to avoide deep nested replication on remote sites, with kingbus you don’t need e deeply nested replication.

  • The size of the binlog storage space on the Master can be reduced, and store the binlog in kingbus.

  • Support MYSQL database heterogeneous log based replication. Other heterogeneous replication components can be connected to the kingbus, such as canal.

For more usage scenarios of binlog server, please refer:

Quick start

Read the Quick Start

Documentation

1.Kingbus management API introduction

2.Start a kingbus cluster with docker-compose

License

Kingbus is under the Apache 2.0 license. See the LICENSES file for details.

Acknowledgments

  • Thanks etcd for providing raft library.

  • Thanks go-mysql for providing mysql replication protocol parser.

评论

暂无评论