MGR架构~高可用架构细节的梳理
一 简介:今天咱们来聊聊mgr的细节原理相关
二 选择新主机制
   1 当主节点宕掉,自动会根据服务器的server_uuid变量和group_replication_member_weight变量值,选择下一个slave谁作为主节点,group_replication_member_weight的值最高的成员被选为新的主节点,
   2 在group_replication_member_weight值相同的情况下,group根据数据字典中 server_uuid排序,排序在最前的被选择为主节点
  3 调整权重后不能像mongo一样自动识别进行切换.只能主动触发故障。
三  新主成员构成
  1 一旦集群故障的节点超过阈值,整个集群变会被挂起,成为只读的状态,比如 3个节点,一旦挂掉2个 就会导致集群只读  
    计算方式 2n+1=total, n为故障节点的阈值
  2 单个节点的状态只有到ERROR时才会被认为是不可用,踢出集群,视图发生变更
四 视图成员状态说明
  ONLINE     表示该节点可正常提供服务
  RECOVERING 表示当前节点正在从其他节点恢复数据
  OFFLINE    表示GR插件已经加载,但是该节点不属于任何一个GR组
  ERROR      表示节点在recovery阶段或者从其他节点同步状态中出现错误
  UNREACHABLE表示节点处于不可达状态,无法与之发生网络通讯  
五 写集合
 1 主键在MGR中主键是有着极其重要的地位,是判断是否冲突的重要依据,所以规定表必须有主键 
 2 写集合信息会封装进Transaction_context_log_event,同其他binlog event信息一起发送给其他节点 
六 本身限制
 1 仅支持InnoDB表,并且每张表一定要有一个主键,用于做write set的冲突检测;
 2 目前一个MGR集群最多支持9个节点
 3 不支持外键于save point特性,无法做全局间的约束检测与部分部分回滚
 4 二进制日志不支持binlog event checksum
5 对大事务的限制
七 总结
本文章只代表个人观点,有问题及时联系我,此文章会持续进行补充
MGR架构~高可用架构细节的梳理的更多相关文章
- 分布式架构高可用架构篇_07_MySQL主从复制的配置(CentOS-6.7+MySQL-5.6)
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_01_zookeeper集群的安装、配置、高可用测试
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_04_Keepalived+Nginx实现高可用Web负载均衡
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_03-redis3集群的安装高可用测试
		参考文档 Redis 官方集群指南:http://redis.io/topics/cluster-tutorial Redis 官方集群规范:http://redis.io/topics/cluste ... 
- 分布式架构高可用架构篇_02_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
		原文:http://www.iteye.com/topic/1145651 从 ActiveMQ 5.9 开始,ActiveMQ 的集群实现方式取消了传统的Master-Slave 方式,增加了基于Z ... 
- 分布式架构高可用架构篇_05_fastdfs集群的安装
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_08_MyCat在MySQL主从复制基础上实现读写分离
		参考: 龙果学院http://www.roncoo.com/share.html?hamc=hLPG8QsaaWVOl2Z76wpJHp3JBbZZF%2Bywm5vEfPp9LbLkAjAnB%2B ... 
- 分布式架构高可用架构篇_06_MySQL源码编译安装(CentOS-6.7+MySQL-5.6)
		redhat: 下载:http://dev.mysql.com/downloads/mysql/ 选择5.6 source包 解压 cmake . -DCMAKE_INSTALL_PREFIX=/us ... 
随机推荐
- JS引用类型
			a,b都是引用类型,它们实际上指向同一个内存空间,同呼吸共命运 
- Going Home  POJ - 2195  (最小费用最大流)
			On a grid map there are n little men and n houses. In each unit time, every little man can move one ... 
- Mac idea中git igenore设置
- Jz2440 环境安装
			目录 Jz2440 环境安装 Ubuntu 设置 烧写工具 交叉编译环境 使用说明 烧写特性 title: Jz2440 环境安装 tags: linux date: 2018-09-20 22:56 ... 
- namenode format
			https://community.hortonworks.com/content/supportkb/48981/how-to-recover-namenode-ha-when-one-accide ... 
- JAVA核心技术I---JAVA基础知识(文件系统及java文件基本操作)
			一:文件概述 文件系统是由OS(操作系统)管理的 文件系统和Java进程是平行的,是两套系统 文件系统是由文件夹和文件递归组合而成 文件目录分隔符 –Linux/Unix 用/隔开 –Windows用 ... 
- 8.Hystrix-Feign配置服务降级
			项目中用到Feign调用服务端方法并做服务降级处理 1.application.properties配置: feign.hystrix.enabled=true 2.pom: <!--feign ... 
- java和c#通过esb服务互调用组件
			场景:java和c#写的服务.站点,互相任意调用.实现一切即服务. 解决方案:使用这种轻量级的esb架构,通过tcp通信解决通信传输问题,总线服务解决服务地址问题,契约解决数据交互问题.由于组件封装了 ... 
- linux部署Web项目总结
			本文用的是CentOS7系统,不是虚拟机. 1.什么是Xshell? xshell连接上linux之后,就等同于linux本身的终端命令窗口. xshell不是必需品,但是它能更好的辅助我们学习lin ... 
- Linux命令(十一)gcc
			1. gcc -E 预处理 头文件展开 宏替换 2. gcc -S: 生成汇编指令 3. gcc - c: 生成二进制文件 4. gcc -I: (包含头文件) 5. gcc -o: 指定输出 6. ... 
