想学精MySQL,得先捋一捋高可用架构

📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️

文章目录

  • 前言
    • 1.主从复制
    • 2.读写分离及负载均衡
    • 3.MHA架构
    • 4.多源复制
    • 5.MGR架构
    • 6.双主+Keepalived
    • 7.PXC架构
    • 8. Orchestrator+VIP架构

前言

本文对MySQL的高可用架构做了详细的阐述,均来自真实的企业生产环境

1.主从复制

MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的 二进制日志 功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制,然后再解析日志并应用到自身,最终实现 从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。

MySQL 主从复制的优点主要包括以下3个方面:
(1)如果主库出现问题,可以快速切换到从库提供服务;
(2)可以在从库上执行查询操作,降低主库的访问压力;
(3)可以在从库上执行备份,以避免备份期间影响主库的服务

2.读写分离及负载均衡

MySQL Router 的主要用途是读写分离,主主故障自动切换,负载均衡,连接池等。
MySQL 强烈建议使用 Router 8 与 MySQL Server8和5.7一起使用,MySQL Router 是 MySQL 官方提供的一个轻量级中间件,可以在应用程序与 MySQL 服务器之间提供透明的路由方式。主要用以解决 MySQL 主从库集群的高可用、负载均衡、易扩展等问题

1.实现了主从读写分离
2.读从库一定程度上起到了负载均衡的作用
3.可以当作连接池
4.主主架构中,主数据库发生故障后,主从 MySQL 服务器自动发生切换
5.多从服务器负载读时,其中一台从服务器 DOWN 机,不影响业务访问

3.MHA架构

MHA(Master High Availability Manager and tools for MySQL)目前在MySQL高可用方面是一个相对成熟的解决方案,它是由youshimaton采用Perl语言编写的一个脚本管理工具。目前MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群必须最少有3台数据库服务器,一主二从,即一台充当Master,一台充当备用Master,另一台充当从库。

MHA由两部分组成:MHA Manager(管理节点)和MHA Node(数据库节点),
MHA Manager 可以单独部署在一台独立的机器上管理多个 master-slave 集群,
也可以部署在一台 slave 节点上。MHA Node 运行在每台 MySQL 服务器上,
MHA Manager 会定时探测集群中的 master 节点,
当 master 出现故障时,它可以自动将最新数据的 slave 提升为新的 master,
然后将所有其他的 slave 重新指向新的 master。
整个故障转移过程对应用程序完全透明

4.多源复制

所谓多源复制(Multi-source Replication),就是多台主库的数据同步到一台从库服务器上,从库创建通往每个主库的管道,从Mysql5.7版本开始支持多主一从的复制方式

多源复制的应用场景
1.各个主数据库的数据汇总到统一的数据库中
2.在从数据库对各个主数据库的数据进行集中备份
在部署多主一从之前,我们先了解下多源复制的好处:
(1)可以集中备份,在从库上备份,不会影响线上的数据正常运行;
(2)节约购买从库服务器的成本,只需要一个从库服务器即可;
(3)数据汇总在一起,方便后期做数据统计,可用于数仓;
(4)减轻DBA维护工作量,整合数据资源;

5.MGR架构

MySQL Group Replication(简称MGR)是一款高可用与高扩展的解决方案,
它提供了高可用、高扩展、高可靠的MySQL集群服务。既可以很好的保证数据一致性又可以自动切换,具备故障检查功能、支持多节点写入,以插件形式提供,实现了分布式下数据的最终一致性

(1)强一致性
基于原生复制及paxos协议的组复制技术,
并以插件方式提供,提供一致性数据安全。
(2)高容错性
只要不是大多数节点环境坏掉就可以继续工作,
有自动检查机制,当不同节点产生资源争用冲突时,
不会出现错误,按照先到者优先原则进行处理,并内置自动化脑裂防护机制。
(3)高扩展性
节点的新增和移除都是自动的,新节点加入后,
会自动从其他节点上同步状态,直到新节点和其他节点保持一致,
如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息。
(4)高灵活性
有单主模式和多主模式,单主模式下会自动选主,
所有的更新操作都是在主上进行;多主模式下,所有server都可以同时处理更新操作。

6.双主+Keepalived

一般中小型公司都使用这种架构,搭建比较方便简单;可以采用主从或者主主模式,在 master 节点发生故障后,利用keepalived 高可用机制实现快速切换到 slave 节点。原来的从库变成新的主库

keepalived主要有三个模块,分别是core、check和vrrp。
core模块为keepalived的核心,
负责主进程的启动、维护以及全局配置文件的加载和解析。
check负责健康检查,包括常见的各种检查方式。
vrrp模块是来实现VRRP协议的

7.PXC架构

PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步

①实现 mysql 数据库集群架构的高可用性和数据的强一致性。
②完成了真正的多节点读写的集群方案。
③改善了传统意义上的主从复制延迟问题,基本上达到了实时同步。
④新加入的节点可以自动部署,无须提供手动备份,维护起来很方便。
⑤由于是多节点写入,所以数据库故障切换很容易。

8. Orchestrator+VIP架构

Orchestrator是最近非常流行的MySQL复制管理工具,相比较于MHA等常用管理工具,其支持高可用部署,并对故障进行一个完整的探测分析后才会做相应的故障转移,探测更精准、全面

下图中:Sqlite/MySQL,是Orchestrator的后端存储数据库
(存储监控的mysql复制实例的相关状态信息),可以选择MySQL,也可以选择SQLite。
/etc/orchestrator.conf.json是配置文件,Orchestrator启动时读取。
下面部分是监控的MySQL的实例,以下是搭建的一主两从。
当然,实际上Orchestrator可以监控成百上千个MySQL复制集群

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

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

相关文章

ARM day8

1.题目&#xff1a;主机获取从机里面的温湿度数据&#xff0c;并打印出来 结果&#xff1a; 代码&#xff1a; main.c #include "iic.h"#include "si7006.h"void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){short tem;…

关于“Python”的核心知识点整理大全11

目录 ​编辑 6.2.4 修改字典中的值 6.2.5 删除键—值对 注意 删除的键—值对永远消失了。 6.2.6 由类似对象组成的字典 6.3 遍历字典 6.3.1 遍历所有的键—值对 6.3.2 遍历字典中的所有键 往期快速传送门&#x1f446;&#xff08;在文章最后&#xff09;&#xff1a; 6.…

【网络编程之初出茅庐】

前言&#xff1a;本章主要先讲解一些基本的网络知识&#xff0c;先把基本的知识用起来&#xff0c;后续会更深入的讲解底层原理。 网络编程的概念 网络编程&#xff0c;指网络上的主机&#xff0c;通过不同的进程&#xff0c;以编程的方式实现网络通信&#xff08;或称为网络数…

网络基础(九):VLAN的概述及配置

目录 前言 一、分割广播域的方法 二、VLAN 1、VLAN的概述及优势 1.1VLAN的概述 1.2VLAN的优势 2、VLAN的种类 3、VLAN的三种端口类型 4、VLAN 的工作原理 4.1VLAN数据帧 4.2VLAN的范围 4.2VLAN的access类型工作原理 4.3VLAN的trunk类型工作原理 4.4VLAN的Hybird类…

CentOS7安装MySQL8.0

一、使用Yum安装 1. 使用wget下载MySQL的rpm包 wget https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm2. 安装下载好的rpm包 yum localinstall mysql80-community-release-el7-3.noarch.rpm 3. 安装mysql&#xff08;该步可能出现问题&#xff09; yum…

JAVAEE-8-线程池

池 我们之前也接触过,比如说常量池,数据库连接池,线程池,进程池,内存池等等, 池的共性: 1.提前把要用的对象准备好 2.把用完的对象也不要立即释放,先留着以备下次使用 来提高效率!!! 最开始,进程能够解决并发编程的问题,因为频繁创建销毁进程的开销成本太大了,所以我们引…

新版Spring Security6.2案例 - Basic HTTP Authentication

前言&#xff1a; 书接上文&#xff0c;翻译官网Authentication的Username/Password这页&#xff0c;接下来继续翻译basic的这页&#xff0c;因为官网说的都是原理性的&#xff0c;这边一个小案例关于basic http authentication。 Basic Authentication 本节介绍 HTTP 基本身…

Unity 通过鼠标控制模拟人物移动和旋转视角

要通过鼠标控制并模拟人物移动和转换视角&#xff0c;将会使用射线检测、鼠标点击和鼠标水平移动&#xff0c;配合物体旋转和移动方法共同实现。 首先搭建个由一个Plane地板和若干cube组成的简单场景&#xff1a; 其次创建一个Capsule作为移动物体&#xff0c;并把摄像头拉到该…

腾讯云优惠券领取指南

腾讯云优惠券是降低云服务成本的有效手段&#xff0c;无论是新用户还是老用户&#xff0c;都可以通过下面方法领取到适合自己的优惠券。 1、腾讯云优惠券领取 领取入口&#xff1a;txy.ink 2、腾讯云优惠券介绍 腾讯云优惠券包括代金券和折扣券&#xff0c;代金券可以在结算…

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 CNN 部分

【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 CNN 部分 概述CNN 简介数据预处理查看数据格式加载数据集 图像处理限定图像范围图像转换加载数据 CNN 模型Inception 网络ResNet 残差网络总结参数设置 训练 Train模型初始化数据加载训练超参数训练循环 验证…

Python 从入门到精通 学习笔记 Day04

Python 从入门到精通 第四天 今日目标 数据类型-又见str、数据类型-又见list 列表切片&排序&反转&循环、字典 数据类型 - 又见str 字符串定义 字符串是一个有序的字符的集合&#xff0c;用于在计算机里存储和表示文本信息 创建 a "Hello ,my name is Ha…

Android---Kotlin 学习005

substring 字符串截取。相加与 java&#xff0c;kt 里面的 substring 函数支持 IntRange 类型&#xff08;表示一个整数范围的类型&#xff09;的参数&#xff0c;until 创建的范围不包括上限值。 const val NAME "Jimmys friend" fun main(){val index NAME.ind…

TrustGeo代码理解(二)test.py

代码链接&#xff1a;https://github.com/ICDM-UESTC/TrustGeo 一、加载检查点&#xff08;checkpoint&#xff09;并进行测试 # -*- coding: utf-8 -*-"""load checkpoint and then test """ 该脚本的目的是加载之前训练过的模型的检查点&am…

【Linux】基于sed正则指令修改application.properties属性值

文章目录 背景sed介绍演示结果 背景 服务器上搭建了SpringCloud微服务&#xff0c;每个服务中都有application.properties文件&#xff0c;在部署过程中需要修改每个微服务的redis.ip和redis.port。如果手动去修改会很麻烦&#xff0c;所以下面写了一个shell脚本&#xff08;基…

idea的快捷键

1.调整字体的大小 文件夹的循序:setting-Editor-Font 界面: 2.删除当前行 文件夹的循序:setting-Keymap-DeleteLine 界面: 3.导入该行需要的类 文件夹的循序:setting-Editor-General-Auto import 界面: 4.格式化代码 文件夹的循序:setting-keymap-Reformat 界面: 5.快速…

大模型微调方法:冻结方法 Freeze、P-Tuning 系列、LoRA、QLoRA

大模型微调方法 冻结方法 FreezeP-Tuning 系列Prefix-TuningPrompt TuningP-Tuning v1P-Tuning v2 LoRAQLoRA 冻结方法 Freeze 方法意思是&#xff0c;只用少部分参数训练&#xff0c;把模型的大部分参数冻结。 只要设置微调层的参数&#xff1a; # 遍历模型的所有参数和名称…

程序员的养生之道:延寿健康的十大秘诀(下)

程序员的养生之道&#xff1a;延寿健康的十大秘诀&#xff08;上&#xff09;-CSDN博客 目录 6. 心理调节&#xff0c;减轻压力 6.1 程序员常见的心理问题 6.2 压力管理的重要性 6.3 放松技巧与应对策略 6.4 积极心态与心理健康 7. 正确坐姿&#xff0c;保护颈椎腰椎 …

VLAN协议与单臂路由

文章目录 VLAN协议与单臂路由一、VLAN的概念及优势1、分割广播域2、VLAN的优势3、VLAN数据帧 二、VLAN的种类1、静态VLAN2、动态VLAN3、VLAN划分方式 三、静态VLAN的配置1、VLAN的范围2、静态VLAN的配置2.1 配置静态VLAN的步骤2.2 vlan三种端口类型举例&#xff1a;配置静态VLA…

VR全景直播来临,沉浸式代入吸引百万人目光

如今&#xff0c;VR技术正在不断改变着直播行业的面貌&#xff0c;为观众提供沉浸式的观看体验。在5G技术的快速发展背景下&#xff0c;VR全景直播作为5G应用的场景&#xff0c;被广泛应用在体育赛事、新闻会议、演唱会、教育医疗等场景&#xff0c;通过VR技术进行全景直播&…

c语言结构体调用格式与对齐

1.声明形式&#xff1a; struct 结构体名字 { 结构体成员 }结构体变量名&#xff1b; 2.赋值方法 3.结构体对齐&#xff1a; 1.起始偏移量&#xff1a;默认结构体第一个元素对齐0起始偏移量&#xff0c;第一个元素占一个字节&#xff0c;此时偏移量为1. 2.标准数&#xff…