分布式MySQL Binlog存储系统的体系结构设计。

发布者:上海IT外包来源:http://www.lanmon.net点击数:1112


1. Kingbus简介。
1.1什么是Kingbus?
Kingbus是一个基于强大的筏协议协议的分布式MySQL binlog存储系统。您可以充当MySQL Slave来同步真实Master中的binglog并将其存储在分布式群集中。同时,它充当MySQL主服务器,以将集群中的binlog与其他从服务器同步。 Kingbus具有以下特点:
兼容MySQL复制协议,通过Gtid模式同步Master中的binlog,并支持slave通过Gtid模式从kingbus中提取binbus。
在区域之间复制数据,Kingbus支持通过raft协议在区域之间复制数据。保证在集群中写入的binlog数据在多个节点之间是一致的,并且binlog顺序与master的顺序完全相同。

高度可用,因为Kingbus基于强大的Raft协议,允许超过一半的群集节点存活,整个binlog提取和插入服务高度可用。


1.2 Kingbus解决了哪些问题?
Kingbus可以减少Master的网络传输流量。在具有多个主服务器和多个从服务器的复制拓扑中,主服务器必须向每个从服务器发送binlog。如果从站太多,网络流量可能会达到主站的NIC限制。例如,如果Master在线执行大表或DDL操作的删除,则可能导致立即生成大量binlog事件。如果有10个从站连接到主站,则主站中的NIC流量将被放大10倍。如果主服务器使用千兆位NIC,则可以运行完整的NIC,如果它生成的速度超过10 MB/s。通过将主站连接到kingbus,可以将从站分配到多台机器以平衡传输流量。
要简化主故障转移过程,只需将连接到kingbus的从站更新为主站,然后将kingbus重定向到新的主站。其他从站仍然连接到kingbus,复制拓扑保持不变。为Master保存空间以存储binlog文件。一般来说,MySQL是一个相对昂贵的SSD。如果binlog文件占用更多空间,则应减少存储在MySQL中的数据。您可以通过在Kingbus中存储binlog来减少存储在Master中的binlog文件的数量。
支持异构复制。通过阿里巴巴与kingbus的开源频道连接,kingbus不断将binlog推送到频道,接收binlog频道,然后将其推送到kafka消息队列,最后将其存入HBase。业务部门直接通过Hive编写SQL来执行业务的实时分析。 。
IT外包
>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部