MYSQL–架构–MGR–理论–01–MGR是什么


1、MGR是什么

  1. MGR(MySQL Group Replication)是以插件形式推出的主从复制高可用技术
  2. MGR基于原生的主从复制,将各节点归入到一个组中,通过组内节点的通信协商(组通信协议基于Paxos算法),实现数据的强一致性、故障探测、冲突检测、节点加组、节点离组等等功能。
  3. 适用金融场景:支付,证券交易,保险,银行等金融场景。因为这些场景要求数据必须做到零丢失,数据库可用性在4个9,甚至5个9(年度停机时间不超过5分钟)。
  4. 提供了高一致性,高容错性,高扩展性,高灵活性的MySQL集群解决方案
  5. 组复制是一种无共享复制方案,其中每个服务器都有自己的整个数据副本
  6. 在2N+1个节点集群中,集群只要N+1个节点还存活着,数据库就能稳定的对外提供服务。
  7. 集群最多接入9个节点。
  8. 运行模式
    1. 单主模式
    2. 多主模式

1.1、举例

  1. 上图是具有3个节点的组,这3个节点互相通信,每当有事件发生,都会向其他节点传播该事件,然后协商,如果大多数节点都同意这次的事件,那么该事件将通过,否则该事件将失败或回滚。
  2. 节点类型可以是单主模型,也可以是多主模型的
    1. 单主模型只有一个主节点可以接受写操作,主节点故障时可以自动选举主节点。
    2. 多主模型下,所有节点都可以接受写操作,所以没有master-slave的概念。

2、MGR的特性

2.1、高一致性

基于原生复制及paxos协议的组复制技术,并以插件的方式提供,实现数据的最终一致性;

2.2、高容错性

  1. 可自动进行故障检测、自动切换,具备防脑裂机制
  2. 在2N+1个节点集群中,集群只要N+1个节点还存活着,数据库就能稳定的对外提供服务。
  3. 当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理

2.3、高扩展性

节点的新增和移除都是自动的,新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致,如果某节点被移除了,其他节点自动更新组信息,自动维护新的组信息;

2.4、高灵活性

  1. 单主模式:

    1. 会自动选主
    2. 所有写操作都在master进行
  2. 多主模式:
    1. 所有的机器都是master
    2. 都支持读写

3、MGR为分布式状态机复制提供了服务器之间的强大协调

  1. 服务器属于同一组时,它们会自动进行协调。
  2. 该组可以在具有自动主库选举的单主模式下运行,其中一次仅一个服务器接受更新。或者,对 于更高级的用户,可以在多主模式下部署,在该模式下,所有服务器都可以接受更新,即使它们是同时发布的。这种功能的代价是应用程序必须解决此类部署所施加的限制。

4、组的视图一致

  1. 有一个内置的组成员资格服务,可以使组的视图一致,并且在任何给定时间点均可用于所有服务器。
  2. 服务器可以离开/加入该组,视图将自动更新。
    1. 有时服务器可能会意外离开该组,在这种情况下,故障检测机制会检测到此情况并通知该组视图已更改

5、一致性复制

  1. 对于要提交的事务,组的大多数必须在全局事务顺序中就给定事务的顺序达成一致。

    1. 每个服务器分别决定提交或中止事务,但所有服务器都要做出相同的决定。
    2. 如果存在网络分区,分裂导致成员无法达成一致,则系统将不会继续运行,直到解决此问题。因此,还有一个内置的自动裂脑保护机制。

6、组通信系统(GCS,Group Communication System)

  1. 提供 故障检测机制
  2. 提供 组成员资格服务、安全以及有序的消息传递机制。
  3. 可确保在服务器组之间数据的一致性复制
  4. 该技术的核心是Paxos算法的实现。

MYSQL--架构--MGR--理论--01--MGR是什么相关推荐

  1. mysql mgr优点_MySQL MGR 有哪些优点

    MGR(Mysql Group Replication)是5.7版本新加的特性,是一个MySQL插件. MGR 是一个新的高可用与高扩展的方案,集群中的任何节点数据都是一样的,可以实现任何节点都可以写 ...

  2. 数mysql据分析优化_从零开始学习数据分析-mysql架构与优化理论

    mysql的逻辑分层:连接层 服务层 引擎层 存储层 引擎层主要分为两类:InnoDB.MyIsam(使用show engines;查看) InnoDB是事务优先的,会进行行锁,适合高并发操作 MyI ...

  3. 数据库周刊28│开发者最喜爱的数据库是什么?阿里云脱口秀聊程序员转型;MySQL update误操作;PG流复制踩坑;PG异机归档;MySQL架构选型;Oracle技能表……

    文章来源:墨天轮社区 https://www.modb.pro/db/26343 摘要:墨天轮数据库周刊第28期发布啦,每周1次推送本周数据库相关热门资讯.精选文章.干货文档.本周分享 开发者最喜爱的 ...

  4. 1. MGR简介 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1. 为什么是MGR MGR是MySQL Group Replication的缩写,即MySQL组复制. 在以往,我们一般 ...

  5. 理解MySQL——架构与概念

    第一章.MySQL架构与概念 1.MySQL的逻辑架构 最上面不是MySQL特有的,所有基于网络的C/S的网络应用程序都应该包括连接处理.认证.安全管理等. 中间层是MySQL的核心,包括查询解析.分 ...

  6. 深入解读 MySQL 架构设计原理,剖析存储架构选型核心

    孙玄,江湖人称"玄姐",前58集团技术委员会主席,前转转二手交易平台首席架构师.今天想跟你聊点儿企业里那些年薪百万的架构师,他们的架构设计思维是如何升级的,以及他们是如何玩转 My ...

  7. 【建议收藏】15755字,讲透MySQL性能优化(包含MySQL架构、存储引擎、调优工具、SQL、索引、建议等等)

    0. 目录 1)MySQL总体架构介绍 2)MySQL存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的SQL 5)SQL优化的一些建议 1 MySQL总体架构介绍 1.1 MySQL总体架构 ...

  8. 23.5 MySQL架构

    5 MySQL架构 MySQL是C/S 架构的,connectors是连接器:可供Native C API.JDBC.ODBC.NET.PHP.Perl.Python.Ruby.Cobol等连接mys ...

  9. Mysql(五)Mysql架构、数据库优化、主从复制

    文章目录 一.Mysql架构 1.1 查询语句的执行过程 1.1.1 连接器 1.1.2 查询缓存 1.1.3 分析器 1.1.4 优化器 1.1.5 执行器 1.1.6 存储引擎 1.1.7 执行引 ...

  10. 【建议收藏】15755 字,讲透 MySQL 性能优化(包含 MySQL 架构、存储引擎、调优工具、SQL、索引、建议等等)

    0. 目录 1)MySQL 总体架构介绍 2)MySQL 存储引擎调优 3)常用慢查询分析工具 4)如何定位不合理的 SQL 5)SQL 优化的一些建议 1 MySQL 总体架构介绍 1.1 MySQ ...

最新文章

  1. 16_python_面向对象
  2. IPMI从驱动到应用(中篇 )
  3. XingXingMVC页面跳转处理
  4. [Medical Image Processing] 2. Image Binary -【OTSU Algorithm Entropy Method】
  5. 【最新合集】编译原理习题(含答案)_答案全集_MOOC慕课 哈工大陈鄞
  6. 网页结构的简介和Xpath语法的入门教程
  7. cf黑机器多久解除_“黑电镀厂”偷排工业废水被捣毁,老板被警方刑拘
  8. 计算机乘积函数讲解,计算机函数算法7
  9. 洛谷——P1155 双栈排序
  10. 二叉树插入算法的非递归版本
  11. 使用 leastsq 对指定函数格式进行最小二乘拟合
  12. SQL最全基础教程(保证你看了绝对点赞收藏)
  13. Android中经纬度与度分秒互转
  14. Web安全攻防渗透测试
  15. 脑洞啊!3D打印数字式日晷,原理简单,设计巧妙
  16. PIC单片机入门教程(一)—— 准备工作
  17. E盾网络验证企业版个人版离线版防破解加密易语言源码加密对接好的自绘界面5
  18. 看板记录工具wekan
  19. python怎么设置随机数种子_Pytorch在dataloader类中设置shuffle的随机数种子方式
  20. 区块链 liquity源代码分析之一 赎回奖励trove_open_liquidate

热门文章

  1. 知识整理1----初次认知蓝牙
  2. 答题软件 JAVA web_悟空问答自动答题软件下载 1.0 免费版
  3. 电子计算机的运算极限,经典电子计算机的极限.doc
  4. layer.tips使用+样式修改
  5. 生英语视频信息在计算机内表现形式是,计算机专业英语 unit 2 Computer Architecture.ppt...
  6. Towards Universal Object Detection by Domain Attention翻译
  7. 转载:仿QQ聊天软件2.0版
  8. java不同对象的集合拷贝_集合java对象
  9. java SQLexists用法_sql中的 exists 用法
  10. iOS PHAsset