广告
返回顶部
首页 > 资讯 > 数据库 >说MGR - MGR的基本原理
  • 862
分享到

说MGR - MGR的基本原理

2024-04-02 19:04:59 862人浏览 八月长安
摘要

状态机复制MGR本质上一个状态机复制的集群。在状态机复制的架构中,数据库被当做一个状态机。每一次写操作都会导致数据库的状态变化。为了创建一个高可用的数据库集群,有一个组件,即事务分发器,将这些操作按照同样的

状态机复制


MGR本质上一个状态机复制的集群。在状态机复制的架构中,数据库被当做一个状态机。每一次写操作都会导致数据库的状态变化。为了创建一个高可用的数据库集群,有一个组件,即事务分发器,将这些操作按照同样的顺序发送到多个初始状态一致的数据库上,让这些数据库执行同样的操作。因为初始状态相同,每次执行的操作也相同,所以每次状态变化后各个数据库上的数据保持一致。



分布式的状态机复制


事务分发器是一个单点,为了避免单点故障,可以采用分布式的状态机复制。在分布式的状态机复制中,有多个事务分发器,它们彼此互相通信。事务分发器可以同时接收事务请求,就像单个事务分发器同时接收事务请求一样。从应用层来说,并发的事务发到同一个事务分发器和发到不同的事务分发器上效果是一样的。事务分发器之间会互相通信,把所有的事务汇总、排序。最终,每个事务分发器上都有一份完整的排好序的事务请求。每个事务分发器只连接到一个数据库上,并负责把事务请求依次发送到相连的数据库上去执行,其就是一个分布式状态机复制的模型了。



分布式的高可用数据库


将分布式的事务分发模块集成到数据库系统中,就变成了一个分布式的高可用数据库系统。用户通过数据库的用户接口执行事务。数据库收到事务请求后,首先交由事务分发模块处理。事务分发模块将事务汇总排序,然后依次交由数据处理模块去执行这些事务。如果去掉内部的细节,就会发现这是一个非常简洁的数据库集群方案。MGR就是这样一个分布式的高可用Mysql系统。



品味来自官档的一段话~


The most common way to create a fault-tolerant system is to resort to making components redundant, in other Words the component can be removed and the system should continue to operate as expected. This creates a set of challenges that raise complexity of such systems to a whole different level. Specifically, replicated databases have to deal with the fact that they require maintenance and administration of several servers instead of just one. Moreover, as servers are cooperating together to create the group several other classic distributed systems problems have to be dealt with, such as network partitioning or split brain scenariOS.


Therefore, the ultimate challenge is to fuse the logic of the database and data replication with the logic of having several servers coordinated in a consistent and simple way. In other words, to have multiple servers agreeing on the state of the system and the data on each and every change that the system Goes through. This can be summarized as having servers reaching agreement on each database state transition, so that they all progress as one single database or alternatively that they eventually converge to the same state. Meaning that they need to operate as a (distributed) state Machine.


mysql Group Replication provides distributed state machine replication with strong coordination between servers. Servers coordinate themselves automatically when they are part of the same group.

您可能感兴趣的文档:

--结束END--

本文标题: 说MGR - MGR的基本原理

本文链接: https://www.lsjlt.com/news/36283.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 说MGR - MGR的基本原理
    状态机复制MGR本质上一个状态机复制的集群。在状态机复制的架构中,数据库被当做一个状态机。每一次写操作都会导致数据库的状态变化。为了创建一个高可用的数据库集群,有一个组件,即事务分发器,将这些操作按照同样的...
    99+
    2022-10-18
  • 说MGR - MGR的日志
    场景1,MGR的启动日志mysql01.com操作1.[root@mysql.sock][(none)]> CHANGE MASTER TO MASTER_USER='rpl_user', MASTE...
    99+
    2022-10-18
  • 说MGR - 单独的通信机制
    虽然MGR会使用Slave的通道,但只是使用这个通道的执行线程(Applier Thread)来执行Binlog Event,并没有使用这个通道来传输Binlog Event。MGR没有使用异步复制的Bin...
    99+
    2022-10-18
  • docker环境搭建mgr集群的问题及原理
    目录MGR概念为何选用MGRMGR原理单主模式多主模式环境准备docker搭建MRG步骤1、拉取mysql8镜像2、创建docker专用网络3、创建存储数据相关目录4、启动3个mys...
    99+
    2022-11-13
  • MySQL中ProxySQL新版本如何实现对MGR的原生支持
    本篇文章给大家主要讲的是关于MySQL中ProxySQL新版本如何实现对MGR的原生支持的内容,感兴趣的话一起来看看这篇文章吧,相信看完MySQL中ProxySQL新版本如何实现对MGR的原生支持对大家多少...
    99+
    2022-10-18
  • MySQL项目之基于ProxySQL+keepalived的MGR高可用集群
    文章目录 项目名称项目描述项目架构图读写请求转发流程图项目环境项目步骤详细步骤一、配置好ip地址,修改主机名,在三台DBS上添加host别名映射二、配置ansible1.安装mysql2.安装...
    99+
    2023-09-05
    mysql linux 数据库 运维
  • flink基本原理
    一、简介 开源流式处理系统在不断地发展,从一开始只关注低延迟指标到现在兼顾延迟、吞吐与结果准确性,在发展过程中解决了很多问题,编程API的易用性也在不断地提高。本文介绍一下 Flink 中的核心概念,这些概念是学习与使用 Flink 十分重...
    99+
    2021-02-28
    flink基本原理
  • 爬虫的基本原理
    爬虫是什么如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是 通过程序模拟浏览器请求站点...
    99+
    2023-01-30
    爬虫 基本原理
  • java中ThreadLocal的基本原理
    目录基本流程ThreadLoalMap数据结构Hash冲突及解决ThreadLocal内存泄露内存引用链路引用类型为什么使用弱引用而不是强引用?泄露原因分析ThreadLocal应用场景 源码实现 一个线程内可以存多个ThreadL...
    99+
    2015-05-05
    Java ThreadLocal基本原理 Java ThreadLocal
  • MySQL分页的基本原理
    这篇文章主要介绍“MySQL分页的基本原理”,在日常操作中,相信很多人在MySQL分页的基本原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL分页的基本原理”的疑惑...
    99+
    2022-10-18
  • GoldenGate的基本原理介绍
    本篇内容介绍了“GoldenGate的基本原理介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么是Go...
    99+
    2022-10-18
  • 怎样理解Spark的基本原理
    怎样理解Spark的基本原理,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1Spark优势特点作为大数据计算框架 MapReduce 的继任者,Spark 具备以下优势特性...
    99+
    2023-06-02
  • Mysql索引基本原理
      1.Mysql表空间、段、区、页     在讲索引的概念之前我们先说一下mysql中段区页的概念。     表空间是Mysql数据库存储的最高层,默认情况下InnoDB引擎只有一个表空间,所有的数据都是存放在这个表空间内。  ...
    99+
    2017-03-31
    Mysql索引基本原理
  • 浅谈SpringSecurity基本原理
    目录一、SpringSecurity 本质二、典型过滤器2.1 FilterSecurityInterceptor2.2 ExceptionTranslationFilter2.3 ...
    99+
    2022-11-12
  • Python爬虫基本原理
    看崔庆才爬虫教程视频做的笔记。 1.什么是爬虫? 请求网站并提取数据的自动化程序。 2.爬虫的基本流程 发送请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。 ...
    99+
    2023-01-30
    爬虫 基本原理 Python
  • SpringSecurity基本原理详解
    目录1、SpringSecurity 本质是一个过滤器链2、SpringSecurity 流程图流程说明3、Security 配置配置类伪代码配置简介4、Security 权限系统5...
    99+
    2023-05-19
    Spring Security Security原理
  • Gradle构建基本原理
    Gradle是一个基于Groovy的构建工具,它的构建基本原理主要包括以下几个方面:1. 构建脚本:Gradle使用Groovy语言...
    99+
    2023-09-21
    Gradle
  • Oracle字符集的基本原理
    本篇内容主要讲解“Oracle字符集的基本原理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Oracle字符集的基本原理”吧! 一、...
    99+
    2022-10-18
  • mysql的锁机制基本原理
    本篇内容介绍了“mysql的锁机制基本原理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天没事就学习一下...
    99+
    2022-10-18
  • jQuery的基本原理是什么
    这篇文章主要介绍“jQuery的基本原理是什么”,在日常操作中,相信很多人在jQuery的基本原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jQuery的基本原理是...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作