前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL主从之外,你又多了一项选择,Galera

MySQL主从之外,你又多了一项选择,Galera

作者头像
架构师之路
发布2021-09-27 10:37:34
1.1K0
发布2021-09-27 10:37:34
举报
文章被收录于专栏:架构师之路架构师之路

绝大部分互联网公司,都使用MySQL的InnoDB引擎存储数据。

为了保证数据库的高可用,为了保证性能的扩展,绝大部分公司又会使用主从同步,读写分离的MySQL集群架构。

传统的主从同步,读写分离MySQL集群架构如上图所示:

(1)主库:左侧第一个实例,提供写服务的实例;

(2)从库:右侧两个实例,提供读服务的实例;

此时数据复制是如何实现的呢?

仍如上图所示:

(1)客户端将写操作提交给主库;

(2)Replication:主库将操作序列化,通过binlog的方式传输给从库;

(3)从库执行相同序列的操作,以实现副本冗余;

传统的主从同步,读写分离冗余模式,数据库集群存在什么问题呢?

(1)用户要关注集群细节,实施读写分离;

(2)写库仍是单点,性能无法线性扩充;

(3)读库有延时,数据不一致;

(4)写库挂了,从库顶上,可能出现数据丢失;

(5)如果引入中间件,SQL能力会受影响;

(6)运维复杂性;

(7)…

既然这么多痛点,有没有一项技术,能够解决大家的问题呢?

Galera集群(Galera Cluster)孕育而生。

什么是Galera集群?

Galera集群是一个基于MySQL InnoDB同步复制的:

(1)同步;

(2)多主;

(3)数据库集群;

画外音:它能支持例如MariaDB等其他数据库,本文重点讲MySQL。

如上图所示:

(1)Galera集群由一组MySQL集群组成;

(2)Replication:这一组MySQL服务器使用复制插件来管理数据库复制;

(3)客户端可以读写集群中的任何一个节点;

Galera集群官网号称,它及其流弊:

(1)真正的多主(True Multi_Master),任何数据修改会被复制到其他节点;

(2)没有所谓的从库延时(slave lag),同步复制;

(3)强一致性,所有节点处于一致的状态;

(4)热备,高可用,不需要处理所谓的主从故障转移,也不需要虚IP;

(5)无需读写分离,随时可以读写任何节点;

(6)支持InnoDB

(7)对应用程序透明

(8)…

总之,在官网的描述中,Galera集群是一个高可用的,高性能的,能保证数据一致性与完整性的:

(1)针对MySQL的

(2)基于同步认证的(synchronous certification-based);

(3)多副本(replication);

解决方案。

网上Galera的资料好像比较少,问了几个之前的朋友,在互联网公司似乎也用得不多,准备深入写一下Galera集群,毕竟是MySQL主从之后的又一种选择。

关于官网吹得飞起的Galera,你对哪些技术点感兴趣呢?你猜它是怎么实现的呢?大家觉得是否要深入写下去,or换别的话题呢?

评论里告诉我。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构师之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档