问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

通常用什么模型来解决mysql高可用性

发布网友 发布时间:2022-04-21 15:40

我来回答

2个回答

热心网友 时间:2022-04-07 18:32

Asynchronous Replication Automatic failover

其原理是在一条异步复制通道上配置多个可用复制源,当某个复制源不可用时(宕机、复制链路中断),且 slave 的 IO 线程尝试重连无效,自动根据权重选择新的源继续同步。

准备一个 MGR 集群和单实例,模拟复制链路切换,当 primary 故障,slave 自动切换到其他节点。dbdeployer deploy replication --topology=group 8.0.22 --single-primarydbdeployer deploy single 8.0.22

2. 在从机上建立指向 MGR 主节点的复制通道,

    change master to master_user='msandbox',master_password='msandbox', master_host='127.0.0.1',master_auto_position=1,source_connection_auto_failover=1,master_port=23223,master_retry_count=6,master_connect_retry=10 for channel 'mgr-single';

    在 master_retry_count 和 master_connect_retry 的设置上要考虑尝试重连多久才切换复制源。

    3. 在从机上配置 asynchronous connection auto failover

    配置 asynchronous connection auto failover 的两个函数:

    asynchronous_connection_failover_add_source(channel-name,host,port,network-namespace,weight)

    asynchronous_connection_failover_delete_source(channel-name,host,port,network-namespace)

    权重值大的被优先级选择,可以配合MGR的选举权重配置 asynchronous_connection_failover 的权重。当 MGR 节点切换,异步复制也能切换到新的主节点。

    SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23223,null,100); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23224,null,80); SELECT asynchronous_connection_failover_add_source('mgr-single','127.0.0.1',23225,null,50);start slave for channel 'mgr-single';


    4. 检查异步复制通道是否启用 failover。

mysql> SELECT CHANNEL_NAME, SOURCE_CONNECTION_AUTO_FAILOVER FROM performance_schema.replication_connection_configuration; +--------------+---------------------------------+| CHANNEL_NAME | SOURCE_CONNECTION_AUTO_FAILOVER |+--------------+---------------------------------+| mgr-single   |  1                              |+--------------+---------------------------------+1 row in set (0.01 sec


    5. 把 MGR 的 primary 节点 kill 掉,这个从节点会在尝试几轮重连失败后自动切换到次权重的复制源,其日志中会输出切换信息。

    注意:当主节点故障,一旦复制链路成功 failover 后,在新的复制链路没有故障时,如果原主节点恢复,是不会回切的。如果当前复制链路发生故障,会再次选择权重高的进行切换。


热心网友 时间:2022-04-07 19:50

对于分布式数据库系统。如何架构才能保证其高可用性呢?以MySQL为例。
1. MySQL replication with manual failover
同步数据是采用MySQL replication的方法,在MySQL分表分块到主从已经解释。简单的说就是从库根据主库的日志来做相应的处理,保证数据的一致。通常还配合MySQL Proxy或Amoeba等进行读写分离减少服务器压力。
manual failover,显然当Master挂掉时,利用本方式是需要手动来处理failover,一般来说是将slave更改为server。
可用性达到: 98%-99.9+%

2. Master-Master with MMM manager(Multi-Master Replication Manager)
同步数据的方式是Multi-Master Replication Manager,在MySQL分表分块到主从解释,多主多从的设置,是一个loop环形,每个DB既是前一个DB的Slave又是后一个的Master。优势就在于,一个Master挂掉,也还可以继续DB操作。每个DB都可以进行读写,分散压力。
可用性达到:99%

3. Heartbeat/SAN
处理failover的方式是Heartbeat,Heartbeat可以看成是一组程序,监控管理各个node间连接的网络。当node出现错误时,自动启动其他node开始服务。Heartbeat必须解决的一个问题就是split brain,在网络中的一个node down掉后,每个node都会认为其他node down掉并尝试开始服务,因为产生数据冲突。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
由人民检察院直接立案侦查的案件范围是怎样的 人民检察院直接立案侦查的条件一般都有哪些 这种功能叫什么名字?就是能在手机屏幕上开个小视频的功能 无时无刻的关心——GYENNOCUP 刚买的红米note手机充电的时候是橘红色的灯 充满了是显示绿色。我的手机... 听说王力宏转入了美国国籍了是吗? 王力宏为什么不入中国国籍?他为何加入美国籍? 全民k歌老是自己重唱上一句怎么事? 全民K歌怎么唱高分 全民K歌唱高分技巧 “因念都城放夜”的出处是哪里 怎么实现mysql的高可用 别人分享给我的文件,保存的时候百度云盘老是提示说保存文件数量超过限制,这是为啥?内存空间也还很多 黑桑葚干是什么味道的 桑葚干的简介 经常用桑葚干泡水喝有什么好处?可以长期喝吗? 桑葚干如何制作桑方法 桑葚干泡酒要泡多久 桑葚干可以直接吃吗 桑葚干泡水喝有什么用? 桑葚干的最佳食用方法 桑葚干与桑葚的区别是什么? 请问怎样设置微信自动通过好友验证? 微信怎么设置不用验证别人加自己为好友 怎样在家自己做生日蛋糕?用什么材料? 怎样自己做蛋糕 怎么自己做蛋糕 如何自己做蛋糕? 自己在家如何做蛋糕? 自己在家如何做蛋糕 自己做蛋糕的做法大全 对于实现mysql数据库集群负载均衡和高可使用 哪些措施具有实际意义 mysql数据库的高可用指的是什么 如何利用lvs实现mysql高可用 如何在幻灯片中添加动画 高性能MySQL:字符串类型(1) 如何在PPT画图并设计为动画 keepalive的实现mysql高可用为什么要设置两个backup 如何选择存储策略? MySQL性能调优 – 你必须了解的15个重要变量 MySql计数器如何实现高性能高并发的计数器功能 lvs实现mysql高可用会导致数据不一致吗 阿里云MySQL云数据库高可用版是什么配置要多少钱 高可用mysql 怎么样 男人想要有家庭地位,需要满足哪几个条件? “mysql”达到1亿级别如何设计优化? 百度网盘转存数量超限怎么办 港股通的股息什么时候到帐 怎么开通港股通? 港股通的开通条件有哪些? 开通港股通的条件是什么?
  • 焦点

最新推荐

猜你喜欢

热门推荐