Home Database Mysql Tutorial 常见的高可用MySQL解决方案_MySQL

常见的高可用MySQL解决方案_MySQL

May 27, 2016 pm 01:46 PM
common solution

MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的。有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或软件出现故障时服务继续可用。

 

高性能性需要解决的主要有两个问题,即如何实现数据共享或同步数据,另一个是如何处理failover,数据共享一般的解决方案是通过SAN(Storage Area Network)来实现,而数据同步可以通过rsync软件或DRBD技术来实现;failover的意思就是当服务器死机或出现错误时可以自动切换到其他备用的服务器,不影响服务器上业务系统的运行。本文重点介绍一下目前比较成熟的Mysql高性能解决方案。

 

1、主从复制解决方案

 

这是MySQL自身提供的一种高可用解决方案,数据同步方法采用的是MySQL replication技术。MySQL replication就是一个日志的复制过程,在复制过程中一个服务器充当主服务器,而一个或多个其他服务器充当从服务器,简单说就是从服务器到主服务器拉取二进制日志文件,然后再将日志文件解析成相应的SQL在从服务器上重新执行一遍主服务器的操作,通过这种方式保证数据的一致性。

 

MySQL replication技术仅仅提供了日志的同步执行功能,而从服务器只能提供读操作,并且当主服务器故障时,必须通过手动来处理failover,通常的做法是将一台从服务器更改为主服务器。这种解决方案在一定程度上实现了MySQL的高可用性,可以实现90.000%的SLA。

 

为了达到更高的可用性,在实际的应用环境中,一般都是采用MySQL replication技术配合高可用集群软件来实现自动failover,这种方式可以实现95.000%的SLA。8.2节会重点介绍通过KeepAlived结合MySQL replication技术实现MySQL高可用构架的解决方案。

 

2、MMM高可用解决方案

 

MMM是Master-Master Replication Manager for MySQL的缩写,全称为MySQL主主复制管理器,它提供了MySQL主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件。在MMM高可用方案中,典型的应用是双主多从架构,通过MySQL replication技术可以实现两个服务器互为主从,且在任何时候只有一个节点可以被写入,避免了多点写入的数据冲突。同时,当可写的主节点故障时,MMM套件可以立刻监控到,然后将服务自动切换到另一个主节点,继续提供服务,从而实现MySQL的高可用。

 

MMM方案是目前比较成熟的MySQL高可用解决方案,可以实现99.000%的SLA。8.3节会重点介绍通过MMM实现MySQL高可用解决方案。

 

3、Heartbeat/SAN高可用解决方案

 

此方案是借助于第三方的软硬件实现的,在这个方案中,处理failover的方式是高可用集群软件Heartbeat,它监控和管理各个节点间连接的网络,并监控集群服务,当节点出现故障或者服务不可用时,自动在其他节点启动集群服务。

 

在数据共享方面,通过SAN(Storage Area Network)存储来共享数据,在正常状态下,集群主节点将挂载存储进行数据读写,而当集群发生故障时,Heartbeat会首先通过一个仲裁设备将主节点挂载的存储设备释放,然后在备用节点上挂载存储,接着启动服务,通过这种方式实现数据的共享和同步。这种数据共享方式实现简单,但是成本较高,并且存在脑裂的可能,需要根据实际应用环境来选择。这种方案可以实现99.990%的SLA。

 

4、Heartbeat/DRBD高可用解决方案

 

这种高可用解决方案也是借助于第三方的软硬件实现的,在处理failover的方式上依旧采用Heartbeat,不同的是,在数据共享方面,采用了基于块级别的数据同步软件DRBD来实现。下载地址 java后台框架源码 springmvc mybatis

 

DRBD即Distributed Replicated Block Device,是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。和SAN网络不同,它并不共享存储,而是通过服务器之间的网络复制数据。这种方案实现起来稍微复杂,同时也存在脑裂的问题,可以实现99.900%的SLA。

 

5、MySQL Cluster高可用解决方案

 

MySQL Cluster由一组服务节点构成,每个服务节点上均运行着多种进程,包括MySQL服务器、NDB Cluster的数据节点、管理服务器,以及(可能)专门的数据访问程序。此解决方案是MySQL官方主推的技术方案,功能强大,但是由于实现较为繁琐,配置麻烦,实际的企业应用并不多。MySQL Cluster的标准版和电信版可以达到99.999%的SLA。

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solution for Win11 unable to install Chinese language pack Solution for Win11 unable to install Chinese language pack Mar 09, 2024 am 09:15 AM

Win11 is the latest operating system launched by Microsoft. Compared with previous versions, Win11 has greatly improved the interface design and user experience. However, some users reported that they encountered the problem of being unable to install the Chinese language pack after installing Win11, which caused trouble for them to use Chinese in the system. This article will provide some solutions to the problem that Win11 cannot install the Chinese language pack to help users use Chinese smoothly. First, we need to understand why the Chinese language pack cannot be installed. Generally speaking, Win11

Reasons and solutions for scipy library installation failure Reasons and solutions for scipy library installation failure Feb 22, 2024 pm 06:27 PM

Reasons and solutions for scipy library installation failure, specific code examples are required When performing scientific calculations in Python, scipy is a very commonly used library, which provides many functions for numerical calculations, optimization, statistics, and signal processing. However, when installing the scipy library, sometimes you encounter some problems, causing the installation to fail. This article will explore the main reasons why scipy library installation fails and provide corresponding solutions. Installation of dependent packages failed. The scipy library depends on some other Python libraries, such as nu.

An effective solution to solve the problem of garbled characters caused by Oracle character set modification An effective solution to solve the problem of garbled characters caused by Oracle character set modification Mar 03, 2024 am 09:57 AM

Title: An effective solution to solve the problem of garbled characters caused by Oracle character set modification. In Oracle database, when the character set is modified, the problem of garbled characters often occurs due to the presence of incompatible characters in the data. In order to solve this problem, we need to adopt some effective solutions. This article will introduce some specific solutions and code examples to solve the problem of garbled characters caused by Oracle character set modification. 1. Export data and reset the character set. First, we can export the data in the database by using the expdp command.

Oracle NVL function common problems and solutions Oracle NVL function common problems and solutions Mar 10, 2024 am 08:42 AM

Common problems and solutions for OracleNVL function Oracle database is a widely used relational database system, and it is often necessary to deal with null values ​​during data processing. In order to deal with the problems caused by null values, Oracle provides the NVL function to handle null values. This article will introduce common problems and solutions of NVL functions, and provide specific code examples. Question 1: Improper usage of NVL function. The basic syntax of NVL function is: NVL(expr1,default_value).

Implementing Machine Learning Algorithms in C++: Common Challenges and Solutions Implementing Machine Learning Algorithms in C++: Common Challenges and Solutions Jun 03, 2024 pm 01:25 PM

Common challenges faced by machine learning algorithms in C++ include memory management, multi-threading, performance optimization, and maintainability. Solutions include using smart pointers, modern threading libraries, SIMD instructions and third-party libraries, as well as following coding style guidelines and using automation tools. Practical cases show how to use the Eigen library to implement linear regression algorithms, effectively manage memory and use high-performance matrix operations.

Resolve Unable to start application properly error code 0xc000007b Resolve Unable to start application properly error code 0xc000007b Feb 20, 2024 pm 01:24 PM

How to solve the problem of unable to start normally 0xc000007b When using the computer, we sometimes encounter various error codes, one of the most common is 0xc000007b. When we try to run some applications or games, this error code suddenly appears and prevents us from starting it properly. So, how should we solve this problem? First, we need to understand the meaning of error code 0xc000007b. This error code usually indicates that one or more critical system files or library files are missing, corrupted, or incorrect.

Common causes and solutions for Chinese garbled characters in MySQL installation Common causes and solutions for Chinese garbled characters in MySQL installation Mar 02, 2024 am 09:00 AM

Common reasons and solutions for Chinese garbled characters in MySQL installation MySQL is a commonly used relational database management system, but you may encounter the problem of Chinese garbled characters during use, which brings trouble to developers and system administrators. The problem of Chinese garbled characters is mainly caused by incorrect character set settings, inconsistent character sets between the database server and the client, etc. This article will introduce in detail the common causes and solutions of Chinese garbled characters in MySQL installation to help everyone better solve this problem. 1. Common reasons: character set setting

Revealing the method to solve PyCharm key failure Revealing the method to solve PyCharm key failure Feb 23, 2024 pm 10:51 PM

PyCharm is a powerful Python integrated development environment that is widely loved by developers. However, sometimes we may encounter key invalidation problems when using PyCharm, resulting in the inability to use the software normally. This article will reveal the solution to PyCharm key failure and provide specific code examples to help readers quickly solve this problem. Before we start solving the problem, we first need to understand why the key is invalid. PyCharm key failure is usually due to network problems or the software itself

See all articles