【译】组复制和 Percona XtraDB 集群: 常见操作概述

news2024/10/7 0:16:52

原文地址:Group Replication and Percona XtraDB Cluster: Overview of Common Operations

在这篇博文中,我将概述使用 MySQL Group Replication 8.0.19(又称 GR)和 Percona XtraDB Cluster 8 (PXC)(基于 Galera)时最常见的故障转移场景和操作,并解释每种技术如何处理每种情况。我使用单个主节点和三节点 PXC(均为默认设置)创建了一个具有群复制功能的三节点集群。我还将使用 ProxySQL 来连接这两个集群。

在这两个集群中,节点的名称都是 mysql1、mysql2 和 mysql3。在组复制中,如果我们使用单主配置,主节点就是写入的位置。在 PXC 中,我也将使用相同的术语,并将发送写入内容的节点称为 Primary 节点。但是,在 PXC 中实际没有主节点的概念,所有节点都是平等的。

这是两种解决方案的大致设置情况。
在这里插入图片描述

主服务器崩溃

在这里插入图片描述

组复制 - 写

在此测试中,我只向群集发送写查询。当我杀死 GR 上的主服务器时,需要 5-15 秒来重组拓扑结构,ProxySQL 也需要 5-15 秒才能将写入发送到新的主服务器。启动旧的主服务器并将其添加回群集不会导致任何中断。

组复制 - 读取

如果我只向群集发送读取查询,主服务器崩溃会导致读取中断吗?ProxySQL 会简单地将流量重定向到其他节点。在重组期间,群集不会被阻塞。

Percona XtraDB 集群 - 写入/读取

在 PXC 中,读取和写入没有区别,一旦某个节点崩溃/消失/分离,集群就必须重新创建集群视图并检查法定节点数。在此过程中,它不接受任何读取或写入。通常,这需要 3-10 秒的时间,在这段时间内,应用程序会受到影响。

删除/添加节点

如果我们删除或添加一个新节点,群集会如何运行?

组复制

在 GR 中,添加或删除节点不会影响或导致应用程序中断。如果我们使用克隆插件添加新节点,群集会将数据传播到新节点。

Percona XtraDB 集群

删除或添加节点不会导致任何中断。同样,就像在 GR 中一样,当我们添加一个新节点时,它会执行 SST(状态快照传输),从另一个节点获取所有数据。

部分网络故障

如果读节点与主节点分离,但仍能看到其他节点,群集会发生什么情况?

在这里插入图片描述
在这种情况下,mysql2(主服务器)和 mysql3 之间出现了网络中断。

组复制

在上一篇博文《MySQL 组复制 - 部分网络故障对性能的影响》中,我详细解释了这种特殊情况。基本上,部分网络中断会严重影响集群的写入性能,从而导致应用程序问题或停机。

Percona XtraDB 集群

在 PXC 中,当集群重新创建集群视图并开始将流量转发到可以看到该服务器的节点时,会出现 3-5 秒的中断。之后,它将继续像以前一样工作,不会对性能造成任何严重影响。

全面网络隔离

在这里插入图片描述

现在,mysql3 与所有其他节点完全分离。

组复制

集群可以接受读取和写入,不会出现任何中断,ProxySQL 会将读取重定向到其他节点。

Percona XtraDB 集群

在 PXC 上,当集群意识到某个节点不可用时,会有 3-5 秒钟的中断,并会如上所述重新创建集群视图。之后,它就可以处理读取和写入了。

应用未通过Proxysql访问数据库集群,直连数据库节点

在这里插入图片描述
如果一个节点或部分节点分离,没有法定节点数,但它们在同一网段中拥有应用服务器,仍可连接到数据库服务器,会发生什么情况?

组复制

分离的节点仍将接受读取流量,因此应用程序可以根据过时的数据做出决策。这是默认设置,但你可以使用名为 group_replication_exit_state_action 的变量进行配置。

Percona XtraDB 集群

在 PXC 中,如果一个节点被分离,它将不会接受任何读取或写入。优先级是数据一致性,只有拥有法定节点数的部分才会接受任何读写。

更改主服务器

组复制

如果要使用新的主节点,必须将一个读节点提升为新的主节点:

MySQL mysql2:3306 ssl JS > cluster.setPrimaryInstance("mysql2:3306")

ProxySQL 会跟随更改,但在集群重组时会造成几秒钟的中断。

Percona XtraDB 集群

PXC 上没有 Primary 的概念,任何节点都可以随时写入,因此我们只需将流量重定向到负载平衡器中的另一个节点(即:ProxySQL)。PXC 中还有一个 pxc_maint_mode 变量。将其更改为 MAINTENANCE 会软移除节点上的连接,即使该节点是主节点,但 ProxySQL Native Galera 支持较差。我建议使用尊重该变量的 1.4 调度器。

总结

Group ReplicationPercona XtraDB Cluster
主服务器崩溃中断5-15s中断5-10s
读服务器崩溃无影响中断3-5s
添加节点无影响无影响
删除节点无影响无影响
部分网络故障影响性能较多中断 3-5 秒,性能低于正常水平
全面网络隔离无影响中断3-5s
更改主中断1-3s对集群没影响

如果读节点宕机或分离,组复制的影响较小。在 PXC 中,由于所有节点都是相同的,因此没有专用的主节点;如果任何节点发生任何情况,集群都必须投票并重新创建集群视图,这可能会对应用程序造成一定影响。不过,PXC 能更好地处理主节点晋升和网络故障。

我们可以看到,两种集群解决方案各有利弊。我希望这份总结能帮助您更多地了解它们,从而更容易地决定使用哪种技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1690285.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Wireshark 4.2.5:发现 QUIC 和 VXLAN 协议的新功能

Wireshark 是一种先进且广泛使用的网络协议分析仪,最近发布了新版本 4.2.5,它提供了许多新功能和改进。 Wireshark 4.2.5 发行说明 什么是 Wireshark? Wireshark 是世界上最流行的网络协议分析器。它用于故障排除、分析、开发和教育。 Wiresh…

汇编:函数以及函数参数传递

汇编语言中的函数(或过程)是指一段可以被调用和执行的代码块;它们用于组织和重用代码,并使程序结构更加清晰;由于汇编语言没有高层次语言的语法糖,编写和调用函数涉及直接的堆栈操作和寄存器管理&#xff1…

《中国企业报》集团数字产业发展研究院介绍

《中国企业报》集团数字产业发展研究院(以下简称“中企数研院”),隶属于《中国企业报》集团管理。“中企数研院”致力于“数字经济产业化发展战略”大背景下,以“县域数字经济”、“企业数字化转型”及“数字人民币”推广等发展方…

Vue3实战笔记(35)—集成炫酷的粒子特效

文章目录 前言一、vue3使用tsparticles二、使用步骤总结 前言 学习一个有趣炫酷的玩意开心一下。 tsparticles,可以方便的实现各种粒子特效。支持的语言框架也是相当的丰富. 官网:https://particles.js.org/ 一、vue3使用tsparticles 先来个vue3使用…

大语言模型的工程技巧(四)——梯度检查点

相关说明 这篇文章的大部分内容参考自我的新书《解构大语言模型:从线性回归到通用人工智能》,欢迎有兴趣的读者多多支持。 本文将讨论如何利用梯度检查点算法来减少模型在训练时候(更准确地说是运行反向传播算法时)的内存开支。…

【Spring Cloud】全面解析服务容错中间件 Sentinel 持久化两种模式

文章目录 推送模式本地文件持久化(拉模式)配置yml编写处理类添加配置演示 配置中心持久化(推模式)修改nacos在sentinel中生效引入依赖配置文件 修改sentinel在nacos中生效下载源码更改代码演示 总结 推送模式 Sentinel 规则的推送…

网络安全快速入门(十五) linux用户管理

14.1 前言 前面我们已经大概了解了Linux的网络链接,今天我们来看看Linux用户管理的一些基础操作,话不多说,我们来开始吧!! 14.2 用户的基础知识 我们先了解一些有关linux用户的一些基础知识,我们从Linux用…

告别传统,拥抱未来——上门回收小程序引领变革

随着科技的飞速发展,我们生活的方方面面都在经历着前所未有的变革。在环保和可持续发展的背景下,传统的废品回收方式已经难以满足现代社会的需求。而上门回收小程序的出现,正以其便捷、高效的特点,引领着废品回收行业的变革。 一、…

Threejs路径规划_基于A*算法案例完整版

上节利用了A*实现了基础的路径规划,这节把整个功能完善好,A*算法一方面是基于当前点找到可以到达的点,计算从出发点到此点,以及此点到目的地的总成本,比较出最小的那个,再用最小成本的点继续找到它可以到达…

LabVIEW与串口通讯在运行一段时间后出现数据接收中断的问题

这些问题可能与硬件、软件或通信协议有关。以下是详细的原因分析和可能的解决方案: 一、硬件原因 串口线缆或接口问题: 由于长时间使用,串口线缆可能出现接触不良或损坏。接口松动也可能导致通讯中断。 解决方案:检查并更换串口…

Sentinel重要的前置知识

文章目录 1、雪崩问题及解决方案1.1、雪崩问题1.2、超时处理1.3、仓壁模式1.4、断路器1.5、限流1.6、总结 2、服务保护技术对比3、Sentinel介绍和安装3.1、初识Sentinel3.2、安装Sentinel 4、微服务整合Sentinel ​🍃作者介绍:双非本科大三网络工程专业在…

Java进阶-SpringCloud使用BeanUtil工具类简化对象之间的属性复制和操作

在Java编程中,BeanUtil工具类是一种强大且便捷的工具,用于简化对象之间的属性复制和操作。本文将介绍BeanUtil的基本功能,通过详细的代码示例展示其应用,并与其他类似工具进行对比。本文还将探讨BeanUtil在实际开发中的优势和使用…

QML英文拟态键盘,英文数字符号输入法

文章目录 QML 英文拟态键盘思维导图更多细节欢迎私信效果图:核心代码:KeyboardLetter.qml,**CustomerKeyboard.qml**,Example.qmlCustomerKeyboard.qmlButton.qmlButtonBase.qmlButtonStateImage.qmlDialogBase.qmlExample.qmlIma…

必示科技参与智能运维国家标准预研线下编写会议并做主题分享

近日,《信息技术服务 智能运维 第3部分:算法治理》(拟定名)国家标准预研阶段第一次编写工作会议在杭州举行。本次会议由浙商证券承办。 此次编写有来自银行、证券、保险、通信、高校研究机构、互联网以及技术方等29家单位&#xf…

ESP32 实现获取天气情况

按照小安派AiPi-Eyes天气站思路,在ESP32 S3上实现获取天气情况。 一、在ESP32 S3实现 1、main.c 建立2个TASK void app_main(void) {//lvgl初始化xTaskCreate(guiTask, "guiTask", 1024 * 6, NULL, 5, NULL);//wifi初始化、socket、json处理taskcustom_…

ue5 中ps使用记录贴

一、快捷键记录 放大图形 ctrlalt空格 放大图形 缩小视口 ctrl空格 ctrlD 取消选区 ctrlt缩小文字 w魔棒工具 选择魔棒的时候把容差打开的多一点 二、案例 移动文字 在相应的图层选择 移动文字 修改图片里的颜色 在通道里拷贝红色通道,复制红色通道粘贴给正常图…

Softing工业将亮相2024年阿赫玛展会——提供过程自动化的连接解决方案

您可于2024年6月10日至14日前往美因河畔法兰克福11.0号馆,Softing将在C25展位展出,欢迎莅临! 作为工业应用中数据交换领域公认的专家,Softing工业致力于帮助各行各业的客户部署网络自动化和优化生产流程。 使用Softing产品&…

kind: Telemetry

访问日志 访问日志提供了一种从单个工作负载实例的角度监控和理解行为的方法。 Istio 能够以一组可配置的格式为服务流量生成访问日志, 使操作员可以完全控制日志记录的方式、内容、时间和地点。 有关更多信息,请参阅获取 Envoy 的访问日志。 https:/…

TAS5711带EQ和DRC支持2.1声道的20W立体声8V-26V数字输入开环D类数字功放音频放大器

前言 数字功放很难搞,寄存器很多,要配置正确才有声音,要想声音好,要好好调整。 TAS5711出道很多年了,现在仍然在不少功放、音箱中能看到。 TAS5711特征 音频输入/输出 从 18V 电源向 8Q 负载提供 20W 功率 宽 PVDD…

Plesk面板中如何导出的MS SQL server数据库

需要导出我的SQL Server 的数据库文件,由于我使用的Hostease的Windows虚拟主机产品默认带普通用户权限的Plesk面板,但是不知道如何在Plesk上操作导出,因为也是对于Hostease主机产品不是很了解,因此联系Hostease的咨询了Hostease技…