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

绝大部分互联网公司,都使用MySQL的InnoDB引擎存储数据
 
为了保证数据库的高可用,为了保证性能的扩展,绝大部分公司又会使用主从同步,读写分离的MySQL集群架构

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

传统的主从同步,读写分离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。
 

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

如上图所示:
(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换别的话题呢?
 
评论里告诉我。
MySQL内核相关文章

缓冲池(buffer pool),这次彻底懂了!

写缓冲(change buffer),这次彻底懂了!

日志缓冲(log buffer),这次彻底懂了!

double write buffer,这次彻底懂了!

关于MySQL,这篇都没人赞?

发布者:糖太宗,转载请注明出处:https://www.qztxs.com/archives/science/technology/5961

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022年5月11日 下午8:53
下一篇 2022年5月11日 下午8:54

相关推荐

  • MySQL缓冲池(buffer pool),终于懂了!!!(收藏)

    应用系统分层架构,为了加速数据访问,会把最常访问的数据,放在缓存(cache)里,避免每次都去访问数据库。   操作系统,会有缓冲池(buffer pool)机制,避免每次访问磁盘,以加速数据的访问。   MySQL作为一个存储系统,同样具有缓冲池(buffer pool)机制,以避免每次查询数据都进行磁盘IO。   今天,和大家聊一聊InnoDB的缓冲池。...

    2022年5月10日
    3100
  • insight洞察-漏洞生命周期管理使用

    简介 洞察是宜信安全部用来对公司内部系统所出现的安全漏洞进行线上全生命周期管理的漏洞管理平台。 项目地址 主要由3部分组成: 应用系统资产管理 漏洞生命周期管理 安全知识库管理 应用系统资产管理:对公司应用系统资产进行管理,包括系统名称、域名、重要级别、部门、负责人等。 漏洞生命周期管理:对公司应用系统产生的安全漏洞进行线上提交、通告、知悉、复测、分类、风险...

    2022年6月1日
    10900
  • 假如让你来设计数据库中间件

    13年底,负责数据库中间件的设计,当时的设计文档,拿出来和大家分享: (1)可以了解下数据库中间件技术; (2)可以了解下架构师系统设计的思路; 画外音:后面项目没落地。   一、总体目标 数据库中间层项目背景不再展开,根据前期的调研以及和公司同事的讨论,中间层的核心目标主要有两个: (1)db虚拟化:让db对业务线透明(本文的db均指mysql),业务线不...

    2022年5月11日
    3700
  • 两个广告位,三家广告主,究竟怎么竞价?

    两个广告位,三家广告主竞价,广告平台究竟应该制定广告竞价策略呢?这是本文即将分享的一个问题。   互联网广告竞价理论,缘自拍卖,要想理解透广告竞价,先必须了解最传统的四种拍卖竞价策略。 第一种:英式拍卖(English Auction)英式拍卖又叫公开增价拍卖OAB(Open Ascending Bid),卖家提供物品,在物品拍卖过程中,买家按照竞价阶梯由低...

    2022年5月12日
    7100
  • frida hook 简单使用

    拿到一份APP渗透测试报告,里面有一个运行日志残留(中危),该日志中保留大量运行日志,其中包含了一些敏感信息,攻击者可以根据该日志获取应用运行的信息,为进一步攻击做准备 我对APP客户端测试比较初级,残留日志我一般会使用adb logcat打印一下或者在程序目录下翻一翻。并没有发现日志中存在敏感信息,问了下测试的工程师,是通过源代码分析找到相关日志类,hoo...

    技术 2022年6月13日
    3100

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信