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] ...
随机推荐
- Directory操作
操作文件夹 CreateDirectory() 创建新文件夹 Delete() 删除 Move() 剪切 Exists() 判断文件夹是否存在 //获取当前目录下所有文件夹的路径 Directory. ...
- LightOJ - 1265 (概率)
题意: 1.两只老虎相遇 就互相残杀 2.老虎与鹿相遇 鹿死 3.老虎与人相遇 人死 4.人与鹿相遇 鹿死 5.鹿与鹿相遇 无果 求人活的概率 解析:如果老虎为0 则人活得概率为1 ...
- 网络流Dinic模板
#include <iostream> #include <cstdio> #include <cstring> #include <queue> #d ...
- 一个死循环导致的栈溢出实例:StackOverFlowError
有一个功能,要用复选框组做成单选框效果,如果有三个复选框 CheckBox ,并且保证每次只能选中一个.刚开始添加了以下的值改变后的监听方法 addValueChangeListener ,却导致了栈 ...
- PHP 判断浏览器语言
详情请参看代码 作用:判断当前的浏览器语言.接收传入参数.拼接字符串 <?php $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); if ...
- 切割模型固定写死了切平面方程是y=0.1
上一篇讲到3d模型切割我遇到的问题(切面的纹理会混乱),经过这段时间的琢磨,有了解决方案,当然我这里只给出我的解决思路,投入到实际项目中还需要做许多工作,比如我在上一篇中切割模型固定写死了切平面方程是 ...
- 自学Aruba1.5-Aruba体系结构-Aruba通讯过程
点击返回:自学Aruba之路 自学Aruba1.5-Aruba体系结构-Aruba通讯过程 1. Aruba通讯过程 Aruba 通讯过程: ①AP连接到现有网络的交换机端口,加电起动后,获得IP地址 ...
- 【Luogu4723】线性递推(常系数齐次线性递推)
[Luogu4723]线性递推(常系数齐次线性递推) 题面 洛谷 题解 板子题QwQ,注意多项式除法那里每个多项式的系数,调了一天. #include<iostream> #include ...
- 【BZOJ1880】[Sdoi2009]Elaxia的路线(最短路)
[BZOJ1880][Sdoi2009]Elaxia的路线(最短路) 题面 BZOJ 洛谷 题解 假装我们知道了任意两点间的最短路,那么我们怎么求解答案呢? 不难发现公共路径一定是一段连续的路径(如果 ...
- [luogu1912][bzoj4196][NOI2015]软件管理器
题解 树剖模板题,每次改变是\(1\)或者是\(0\),区间求和和区间修改就可了. ac代码 # include <cstdio> # include <cstring> # ...