跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

在这个由三部分组成的博客系列中,我们将使用MySQL半同步复制和Corosync plus Pacemaker堆栈来解释MySQL托管的高可用性(HA)框架的细节和功能。在第一部分中,我们将向您介绍高可用性的基础知识,HA框架的组件,然后向您介绍MySQL的HA框架。

什么是高可用性?



计算机系统的可用性是其服务在一段时间内上升的时间百分比。它通常表示为9系列。例如,下表显示了可用性以及一年内测量的相应停机时间。

Availability % Downtime Per Year
90% (“one 9“) 36.53 days
99% (“two 9s“) 3.65 days
99.9% (“three 9s“) 8.77 hours
99.99% (“four 9s“) 52.60 minutes
99.999% (“five 9s“) 5.26 minutes
99.9999% (“six 9s“) 31.56 seconds



高可用性的含义取决于您的应用程序和业务的要求。例如,如果您在服务中无法承受每年超过几分钟的停机时间,我们说该服务需要具有99.999%的高可用性。

HA框架的组件



高度可用的本质是能够立即从系统任何部分发生的故障中恢复。任何HA框架中都有四个非常重要的组件需要以自动方式协同工作以实现此可恢复性。我们将详细介绍这些组件:

1.基础设施和数据的冗余



为了使服务具有高可用性,我们需要确保基础架构托管中存在冗余,以及服务使用或提供的最新数据冗余副本。这可以作为备用服务,以便在主服务器受到故障影响时准备接管。

2.故障检测和纠正机制



立即检测可能影响其可用性的主系统任何部分中的任何故障极为重要。这将使框架能够在同一主系统上采取纠正措施,或将服务故障转移到备用系统。

3.故障转移机制



此组件负责将服务故障转移到备用基础结构。请注意,如果有多个冗余系统可用,则此故障转移机制组件必须识别其中最合适的系统并将其作为主要服务进行升级。

4.应用程序/用户重定向机制



一旦备用系统接管为主要系统,该组件将确保所有应用程序和用户连接开始发生在新的主要系统上。

 

MySQL的HA框架



基于上述模型,我们在ScaleGrid上使用以下HA框架进行MySQL托管:

  1. 使用MySQL半同步复制的3节点主从设置,以提供基础架构和数据冗余。
  2. Corosync和Pacemaker堆栈提供故障检测,纠正和故障转移机制。
  3. DNS映射或虚拟IP组件,用于提供应用程序和用户重定向机制。

查看下图以可视化此体系结构的软件堆栈:

MySQL High Availability Diagram of Software Stack Architecture

MySQL高可用性软件堆栈架构图让我们回顾一下这个框架中的一些关键组件的功能。

Corosync



Corosync为节点提供了一个通信框架,它们之间有可靠的消息传递。它形成节点的集群环,并通过集群成员资格跟踪加入和离开集群的节点。 Corosync与Pacemaker密切合作,就节点可用性进行沟通,以便Pacemaker可以做出适当的决策。

Pacemaker



Pacemaker也称为群集资源管理器(CRM),可确保群集上运行的MySQL的高可用性,并通过与Corosync接口来检测和处理节点级故障。它还通过与资源代理(RA)连接来检测和处理MySQL的故障。 Pacemaker通过启动,停止,监视,升级和降级操作来配置和管理MySQL资源。

资源代理



资源代理充当MySQL和Pacemaker之间的接口。它实现启动,停止,升级,降级和监控Pacemaker调用的操作。 Percona实现了一个名为Percona Replication Manager(PRM)的全功能资源代理。这已由ScaleGrid增强,可在我们的GitHub页面上找到。

DNS映射组件



资源代理在完成成功的故障转移后,将调用此组件,该组件使用新主服务器的IP地址更新主MySQL服务器的DNS记录。请注意,客户端始终使用主DNS名称连接MySQL服务器,并通过管理此DNS名称到当前主服务器的IP地址的映射,我们可以确保客户端不必更改其连接字符串或属性时有一个故障转移。

在本博客系列的第二部分中,您将了解使用MySQL半同步复制实现的关键数据冗余组件。我们还将深入研究用于实现高可用性支持的半同步复制细节和配置,最后,回顾第III部分中的各种故障情况以及框架响应和恢复这些条件的方式。

原文:https://scalegrid.io/blog/mysql-high-availability-framework-explained-part-1/

本文:http://pub.intelligentx.net/mysql-high-availability-framework-explained-part-i-introduction

讨论:请加入知识星球或者小红圈【首席架构师圈】

 

最后修改
星期四, 一月 5, 2023 - 21:55
Article