mysql容灾方案_mysql 架构 ~异地容灾

本文介绍了MySQL在异地机房的容灾备份和双活实现策略,包括单一业务和多业务场景。通过设置从库、MGR/PXC方案、半同步复制以及程序中间件改造,确保数据冗余和高可用性。强调了良好网络带宽、减少网络开销和业务优先级的重要性。
摘要由CSDN通过智能技术生成

一 简介 我们来探讨下多机房下的mysql架构

二 目的:

首先要清楚你的目的

1 实现异地机房的容灾备份

2 实现异地机房的双活

三 叙说

1 实现异地机房的容灾备份

目的 只是将数据备份到异地,当第一机房发生故障时,能最大可能的保留数据.实现冗余效果

业务 核心业务在第一机房,第二机房和第一机房都共同使用第一机房的数据源,只有当第一机房发 生故障时,核心业务才会切换到第二机房

实现难度 简易

角色 1 数据备份冗余 2 故障发生时的数据写入保留

2 实现异地机房的双活

目的 多机房状态下的多业务进行

业务 核心业务在第一机房和第二机房都开展,各自有本地的数据源,当某一机房发生故障时,核心业务会合并到正常的机房

实现难度 复杂

角色 1数据备份冗余 2 支撑异地业务和故障的业务再支持

四 针对单一业务的解决方案

数据库角度

1 单一业务 只需在异地机房搭建mysql从库即可,做好mysql从库的延迟监控,定期备份,打开读写,实现了数据库的冗余备份,不要求高实时性和数据准确性

2 采用 MGR/PXC 方案,但是还是单写方式,这样能实现异地机房的高一致性,但是记住这样的架构依赖于非常好的专线网络,否则会降低整个集群的性能

3 采用 半同步复制,只要binlog传输到异地机房则代表可以继续进行,这样至少能保证binlog的成功保存,也可以直接采用binlog_server 保存binlog

4 采用程序中间件和对数据库的二次改造 通过对异地机房程序进行数据的确认和减少binlog的传输量入手

程序角度

1 双机房程序共用第一机房的数据源,第二机房的数据源不会使用,建议采用DNS方式,当第一机房挂掉后,DNS才会转移到第二机房提供正常服务

五 针对多机房业务的解决方案

1 双机房都提供读写服务,针对DB级别进行拆分,比如DB1在第一机房读写 DB2在第二机房读写,机器在双机房进行数据同步,实现异地双活提供服务和数据冗余备份功能

2 采用MGR/PXC方案,是多写方式,这样能实现双机房数据的一致性

3 采用程序中间件和对数据库的二次改造实现

六 总结:

建造异地机房必须要考虑的几个方面

1 良好稳定的网络带宽

2 减少网络开销,压缩binlog或者WS(MGR/PXC的验证机)网络参数优化

3 按照业务优先级进行建造

4 异地数据的确认

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值