mysql 架构 ~异地容灾
一 简介 我们来探讨下多机房下的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 异地数据的确认
mysql 架构 ~异地容灾的更多相关文章
- 双机热备(准)-->RAC(夭折)-->DG(异地容灾)
以下有的地方为oracle专业术语,非懂勿喷.前段时间某项目负责人告知,他们应用需要一套oracle数据库环境运行模式为双机热备.简单了解下对于现在已经非常成熟的RAC再合适不过了.详细问了问当前服务 ...
- Always on (HA 负载均衡 异地容灾 一体化 )
Sqlserver 2012 开始,以往困扰我们的三个棘手问题:可扩展性.数据保护.异地容灾可以统一通过alwayson 来实现.2014 支持secondary 节点更是达到8个.在硬件调配方面比 ...
- mysql 架构 ~ 异地多活
一 业务异地多活 二 核心思想 多机房提供就近服务,只有当本地机房出现问题时,才会被允许异地机房进行查询和事务操作三 数据库角度 1 多机房之间需要进行数据同步,保证每个机房都保留多机房的全部副本 ...
- QQ 相册后台存储架构重构与跨 IDC 容灾实践
欢迎大家前往云加社区,获取更多腾讯海量技术实践干货哦~ 作者简介:xianmau,2015 年加入腾讯 TEG 架构平台部,一直负责 QQ 相册平台的维护和建设,主导相册上传架构重构和容灾优化等工作. ...
- 【虚拟化实战】容灾设计之一VR vs SRM
作者:范军 (Frank Fan) 新浪微博:@frankfan7 从本文开始,我们将介绍一系列的关于容灾的解决方案.先探讨应用的场景,然后再深入介绍技术架构. 情景一: 某小型公司的虚拟化环境中,在 ...
- 腾讯云COS对象存储占据数据容灾C位
说到公有云容灾,大家首先想到的是云上数据备份. 然而,随着企业核心业务逐渐从线下迁移到云上,客户提出了更高的要求.如何确保云上业务的高可用.数据的高可靠,这对云厂商提出了新的挑战. 腾讯云作为全球领先 ...
- 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计
容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾 本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...
- 传统业务上云:跨AZ容灾架构解析
本文由 网易云发布. 数字化转型浪潮之下,采用云计算服务提升业务敏捷性.降低运维成本,成为了传统企业的优选方案.网易云资深解决方案架构师张亮通过某物流企业客户的实际案例,分享了传统业务系统在云上的架 ...
- mysql容灾备份脚本
一,环境需求 **安装前准备 操作系统环境:Centos 7.2 [root@localhost soft]# rpm -qa | grep mariadb [root@localhost soft] ...
随机推荐
- BZOJ2178 圆的面积并(simpson积分)
板子题.可以转一下坐标防止被卡.精度和常数实在难以平衡. #include<iostream> #include<cstdio> #include<cmath> # ...
- Luogu4238 【模板】多项式求逆(NTT)
http://blog.miskcoo.com/2015/05/polynomial-inverse 好神啊! B(x)=B'(x)·(2-A(x)B'(x)) 注意ntt的时候防止项数溢出,即将多项 ...
- Dapper 介绍
转载:http://***/html/itweb/20130918/125194_125199_125210.htm .NET 轻量级 ORM 框架 - Dapper 介绍 Dapper简单介绍: D ...
- ajax 提交数组 泛型集合(二)
最近在项目中,使用 mvc架构,model层使用code first 碰见一个问题,前台json传递数据给后台action的复杂对象,发现复杂对象中的list范型集合并没有获取到数据. 研究半天,终于 ...
- MT【40】一道联赛二试题
让我通过这道题来演示如何利用切比雪夫多项式的内功心法: 评:如此大道至简,当年为之叫绝的精彩的做法
- loj#2009.「SCOI2015」小凸玩密室
题目链接 loj#2009. 「SCOI2015」小凸玩密室 题解 树高不会很高<=20 点亮灯泡x,点亮x的一个子树,再点亮x另外的子树, 然后回到x的父节点,点亮父节点之后再点亮父节点的其他 ...
- Threed.sleep是不会释放锁,而wait是释放锁的(对象锁)
实战分析 一直都说,Threed.sleep是不会释放锁,而wait是释放锁的(对象锁),现理论上来分析一下啊. v package thread.concurrent; public class D ...
- 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置)
点击返回:自学Aruba之路 自学Aruba7.3-Aruba安全认证-802.1x认证(web页面配置) 步骤1 建立AP Group,命名为test802-group 步骤2 将AP加入到AP ...
- 使用fiddler模拟http请求
概述 与httpwath相比,fiddler能模拟http请求.能断点调试.http分析统计吸引了我,使用之后感觉这个工具非常不错,这篇文章只单介绍一下fiddler工作原理,简单介绍一下它的重要功 ...
- 愚人节CDACMFinal
这个啊,愚人节的ACM之赛,其实还是很有意思的.之前因为星期天不能休息还怨声载道,但真的打起来了就是觉得特别有意思. 我们队,最开始乱搞电脑,cmd都没有办法调用了,霎时间十分慌张(而且我过于慌张忘了 ...