Mysql 高一致性复制结构

简介

MySQL 5.7.17 中发布了一个重要的功能:Group Replication 组复制

Group Replication 是干什么的?

可以简单理解为:通过 Group Replication 可以让多个Mysql节点中的数据完全一致

对其中任意一个节点执行修改后,其他节点都会自动同步,并保证数据的一致性

组复制与主从复制有什么区别?

在主从复制结构中,slave只是master的一个附属,master自顾自的执行写操作,不管slave是否跟上没,slave自己努力的尽量保持和master保持一致

而在组复制中,大家都是master,一个master收到写请求后,在提交这个事务之前,必须通知其他master,大家同意以后,都执行一下这个写操作,否则,都不执行,这样就保证了大家的数据都一样

特点

(1)高一致性

通过著名的分布式一致性算法Paxos来保证各节点状态相同

(2)高容错

只要不是大多数节点坏掉就可以继续工作

有自动检测机制,当不同节点产生资源争用冲突时,不会出现错误,按照先到者优先原则进行处理

内置了自动化脑裂防护机制

(3)弹性

节点的新增和移除都是自动的

新节点加入后,会自动从其他节点上同步状态,直到新节点和其他节点保持一致

如果某节点被移除了,其他节点自动感知,自动维护新的group信息

(4)灵活

单主模式多主模式

单主模式下,会自动选主,所有更新操作都在主上进行

多主模式下,所有server都可以同时处理更新操作

应用场景示例

(1)弹性复制

例如云数据库服务,需要一个非常灵活的复制环境,server数量可以动态增加或者收缩,并且对外没有影响

(2)高可用分片

分片是水平扩展写能力的常用方法,使用 Group Replication 就可以实现高可用分片,每个分片对应一个复制组

(3)替代主从复制

使用单一的 master 会突出单点问题,向整个组写入的话会更有可扩展性

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2017-03-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT技术精选文摘

如何利用配置中心规范构建PaaS服务配置

在上一篇文章中,我们以MQ和ACM为例,讨论了如何借助配置中心对消息进行限流管理的场景。在本文中,我们继续以该场景为例,讲述如何以规范的配置命名格式来进行限流设...

41780
来自专栏顶级程序员

硬盘数据恢复的十大神器

因为众所周知的原因:硬盘总是坏!但是嘛,其实硬盘数据恢复也是那么难,一起来看看! 在一切工作进行之前,请先判断硬盘是否有损坏,以及缺损类型,而往往硬盘出现问题...

49360
来自专栏铭毅天下

干货 |《深入理解Elasticsearch》读书笔记

题记 由于之前已经梳理过Elasticsearch基础概念且在项目中实战过Elasticsearch的增删改查、聚类、排序等相关操作,对ES算是有了一定的认知...

59060
来自专栏大数据架构师专家

zabbix3.4安装

自从zabbix2系列爆出漏洞后,大多数公司都在升级zabbix3系列,升级过程特别简单,在官网有详细的升级教程

23120
来自专栏玉树芝兰

如何安装与连接MySQL?

本文用详细的步骤说明,帮助你一步步掌握MySQL的下载、安装和服务启动,客户端的安装、连接和测试。帮你避开初学MySQL使用中的那些坑。

11810
来自专栏开发技术

nginx实现请求的负载均衡 + keepalived实现nginx的高可用

  使用集群是网站解决高并发、海量数据问题的常用手段。当一台服务器的处理能力、存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,...

17410
来自专栏月色的自留地

把路由器改装成git服务器(OpenWRT环境的GIT服务器搭建)

在单位中,通常都标配了git服务器用来管理代码。 对于家庭或者小办公室,这种方式有点不经济。当然如果是开源项目就简单了,刚刚被微软收购的github是理想...

98720
来自专栏云计算

Kubernetes中的Service Mesh(第5部分):Dogfood环境和入口

原文地址:https://dzone.com/articles/a-service-mesh-for-kubernetes-part-v-dogfood-env...

28580
来自专栏华章科技

硬盘数据恢复的神器有哪些?

在一切工作进行之前,请先判断硬盘是否有损坏,以及缺损类型,而往往硬盘出现问题主要集中下以下两个方面:

14320
来自专栏嵌入式程序猿

有图有真相

自从上次简单讲解了飞思卡尔MQX RTOS系统后,不断有猿友留言,要求在讲讲启动流程,在一步步学习MQX系统的文章已经提到过,通过一步步跟踪可以清...

37960

扫码关注云+社区

领取腾讯云代金券