ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

技术分享——MySQL数据库高可用方案,java三层架构代码规范

2021-12-27 18:03:22  阅读:208  来源: 互联网

标签:架构 MHA MGR 复制 master MySQL java 分布式


  • MHA Node: 行在每台MySQL服务器上。

MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。

MHA Node运行在每台MySQL服务器上,主要作用是切换时处理二进制日志,确保切换尽量少丢数据。

MHA也可以扩展到如下的多节点集群:

技术分享——MySQL数据库高可用方案

优点:

  • 可以进行故障的自动检测和转移;

  • 可扩展性较好,可以根据需要扩展MySQL的节点数量和结构;

  • MySQL发生不可用的概率相对更低

缺点:

  • 逻辑较为复杂,发生故障后排查问题,定位问题更加困难;

  • 数据一致性仍然靠原生半同步复制保证,仍然存在数据不一致的风险;

  • 可能因为网络分区发生脑裂现象;

4.MGR

MySQL官方推荐的一款高可用集群方案MySQL Group Replication,基于Paxos协议的状态机复制,彻底解决了基于传统的异步复制和半同步复制中数据一致性问题无法保证的情况,也让MySQL数据库涉及的领域更广,打开互联网金融行业的大门。

MGR提供了高可用分布式MySQL数据库服务,它可以实现服务器自动故障转移,分布式容错能力,支持多主更新的架构,自动重配置()加入/移除节点,崩溃等),并且可以自动侦测和处理冲突。

MGR适用的场景包括:

(1)弹性复制:复制架构下,服务器的数量动态增加或缩减时,使影响降到最低。

(2)分片高可用:用户可以利用MGR实现单一分片的高可用,每

《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》

【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享

个分片都具有一个复制组。

(3)主从复制的替代选择:可以使用单主模式避免发生冲突检测,以替代传统的主从复制。

下图为MGR的架构图:

技术分享——MySQL数据库高可用方案

下边分别介绍里边的内容:

技术分享——MySQL数据库高可用方案

MySQL Group Replication插件

=============================================================================================

该插件主要负责:

  • 维护分布式执行内容

  • 侦测和处理冲突

  • 处理分布式集群的恢复(侦测成员的变化,在必要时作为贡献者提供数据,在必要时收集状态)

  • 推送事务给其他组员

  • 接受其他成员的事务并处理

  • 决定事务最终的结果(提交/回滚)

5.zookeeper+proxy

Zookeeper使用分布式算法保证集群数据的一致性,使用zookeeper可以有效的保证proxy的高可用性,可以较好的避免网络分区现象的产生。

标签:架构,MHA,MGR,复制,master,MySQL,java,分布式
来源: https://blog.csdn.net/m0_65485166/article/details/122177446

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有