云原生小课堂|高性能、高可用、可扩展的MySQL集群如何组建?
2022-04-07


云原生小课堂 MySQl (1).png


mysql高可用-PXC集群(安装和特性)


PXC是基于Galera的面向OLTP的多主同步复制插件,mysql自带的主从集群方案(replication)异步复制无法保证主从复制的完整一致。

OLAP强调数据分析和数据挖掘,比较适合MyISAM,OLTP强调事务一致性和增删改查,比较适合InnoDB,而Galara只支持InnoDB,PXC主要用于解决MySQL集群中数据同步强一致性的问题,PXC是MySQL集群方案中公认的优选方案之一。


集群的特点


多主架构:真正的多点读写的集群,没有主从节点之分,在任何节点读写数据,都是最新的

同步复制:事务在所有集群节点同时提交,任何一个节点失败都算作事务失败,这样不同节点之间数据同步,没有延迟,在数据库挂掉之后,数据不会丢失

强一致性:所有节点的数据保持一致,数据不仅在本地写入,还要同步到所有节点才成功(这种情况下当pxc节点过多时,每个节点都要跟其他节点进行数据同步,节点越多同步关系越复杂,同步效率越慢)

并发复制:从节点APPLY数据时,支持并行执行,更好的性能

故障切换:在出现数据库故障时,因支持多点写入,切换容易

热插拔:在服务期间,如果数据库挂了,只要监控程序发现的够快,不可服务时间就会非常少。在节点故障期间,节点本身对集群的影响非常小

自动节点克隆:在新增节点,或者停机维护时,增量数据或者基础数据不需要人工手动备份提供,集群会自动拉取在线节点数据,最终集群会变为一致

对应用透明:集群的维护,对应用程序是透明的


PXC集群的缺点


1、只能对InnoDB写入的数据进行同步,就算在其他引擎写数据,也无法完成同步。

2、新节点加入需要全量拷贝数据,有时会导致数据同步的提供者无法提供读写,只有等待整个拷贝完成

3、集群的性能取决于集群中性能最差的节点的性能(全局校验过程)

4、所有表都要有主键

5、不支持 LOCK TABLE 等显式锁操作

6、PXC 集群节点越多,数据同步的速度就越慢


安装pxc集群


删除MariaDB程序包

1-删除 程序包 (1).png


开放防火墙端口

2-开放防火墙端口 (1).png


3306(mysql服务端口):对外提供mysql的服务端口 4567(集群通讯端口):集群中mysql节点间通信的端口 4444 (SST(State Snaphot Transfer)端口):请求全量同步端口 4568(IST(Incremental State Transfer)端口):请求增量同步的端口


关闭SELINUX

3-关闭SELINUX (1).png


在所有节点下载并安装pxc

下载安装包

https://www.percona.com/downloads/Percona-XtraDB-Cluster-57/LATEST/


4-下载安装包 (1).png


下载以上安装包后额外需要下载qpress-11-1.el7.x86_64包。

进入RPM文件目录,执行安装命令

5-执行安装命令 (1).png


修改配置文件

6-修改配置文件 (1).png


初始化所有节点的mysql

7-初始化所有节点的mysql (1).png


停止所有节点的mysql并构建数据库集群

8-停止所有节点-合 (1).png


验证

在任何一个节点的mysql执行以下sql可以查看集群状态:

9-验证 查看集群状态 (1).png


ADS试用咨询

众所周知,PXC是MySQL实现高可用架构的优选方案,而MySQL是基于Kubernetes数据服务管理的最佳实践,灵雀云数据服务平台Alauda Data Service(简称:ADS)采用MySQL等主流数据组件,完整覆盖全生命周期管理,作为Alauda全栈云的重要一环,与灵雀云云原生全栈私有云平台ACP完美集成,提供集部署、使用、运维一体的稳定可靠的中间件PaaS服务,快速实现一键部署、便捷管理、自动化运维,让开发运维人员可以更关注于业务本身。

如您想深入体验ADS,扫描下方二维码或点击此处即可报名。

ADS试用咨询.png


关于【云原生小课堂】

小课堂 (1).png


【云原生小课堂】是由灵雀云、Kube-OVN社区、云原生技术社区联合开设的公益性技术分享类专题,将以丰富详实的精品内容和灵活多样的呈现形式,持续为您分享云原生前沿技术,带您了解更多云原生实践干货。
在数字化转型的背景下,云原生已经成为企业创新发展的核心驱动力。作为国内最早将 Kubernetes 产品化的厂商之一,灵雀云从出生便携带“云原生基因”,致力于通过革命性的技术帮助企业完成数字化转型,我们期待着云原生给这个世界带来更多改变。

关注灵雀云,学习更多云原生知识,一起让改变发生。


上一篇:云原生小课堂 | Envoy请求流程源码解析(二):请求解析

下一篇:云原生小课堂|Envoy请求流程源码解析(三):请求解析

为您数字化转型提供更为完善的解决方案和更加优质的全栈服务。

申请试用
© 2024 All Rights Reserved. 灵雀云 版权所有 备 案号:京ICP备15011102号-2      隐私条款
电话咨询 在线客服 微信咨询 公众号