架构设计(异地多活)

同城灾备

同城灾备:同一个城市不同地方部署多个机房,一个机房对外服务,另一个机房备份数据

同城冷备:a机房对外服务,b机房定时备份数据

同城热备:a机房对外服务,b机房实时备份数据

同城冷备:定时备份数据库文件,如果来不及备份,数据存在丢失风险

同城热备:实时备份数据库文件,相比冷备,数据不存在丢失风险

同城双活

同城双活

# 解决单点故障
同城灾备:只是备份了数据,当提供服务的机房故障后,服务不可用,存在单点故障;
同城双活:另外一个机房除了备份数据,也可处理部分流量,当一个机房故障后,另一个机房可继续提供服务# b机房分流
b机房部署接入层、应用层,使用DNS负载均衡将部分流量切换到b机房;# 数据库
a机房:所有的写入数据操作在a机房执行,a机房本地也做备份
b机房:数据库为从库,实时同步a机房数据,当a机房故障后,b机房数据库转换为主库

两地三中心

两地三中心

同城双活:在某城市部署两个机房,同城双活,对外提供服务
异地数据备份:在异地部署机房(位置相距1000km以上),定期做数据备份,防止数据丢失

异地多活

异地多活

# 同城双活问题
当城市大面积停电、地震、火灾发生时,可能导致同一个城市的两个机房都不可用;
将机房部署在相距较远(距离1000km以上)的两个城市,同时对外服务,就可规避这个问题# 延时问题处理
如果另一个机房都是从库,由于距离较长,数据同步会存在比较大的延时
将另一个机房也做主从部署,两个机房之间定时同步数据(需要使用中间件同步)# 数据同步问题
如果用户写入同一条数据,一次在a机房,另一次在b机房,
数据同步的时候先后顺序很难区分,容易导致数据冲突,
可在DNS后接入路由层,将流量按照异地规则分流,避免数据冲突# 路由层流量分流
根据用户分流:部分用户固定转发到a机房、部分用户固定转发到b机房
根据业务分流:a机房固定处理某些业务,b机房固定处理另一部分业务,需要注意业务的跨机房调用问题
根据距离分流:靠近a机房近的用户分到a机房,靠近b机房近的分到b机房

架构设计(异地多活)相关推荐

  1. 多数据中心架构,异地多活架构

    总结: 多活基本思路: 每个中心都是活的,可以实时承担流量,任何一点出问题,都可以直接切掉,由另外一点直接接管,非传统的两地三中心冷备方式. 挑战及解决方法: 服务延时. 让操作全部在同一中心内完成, ...

  2. 高可用架构:异地多活

    前言:多「活」.多「备」是两个相对的概念,设计和实现的难度相差很大,不要搞混了 1.为什么要做多活 在一些极端场景下,有可能所有服务器都出现故障,例如机房断电.机房火灾.地震等这些不卡抗拒因素会导致系 ...

  3. 软件架构图的艺术与从单体架构到异地多活,开心的学java架构

    要点 1.设计软件架构图并非一件轻而易举的事情,即使是很简单的一个架构图也可能会出错.有意义且具备一致性的架构图有助于为不同的利益相关者澄清事实,并达成共识. 2.在大多数情况下,问题的根源并不在于是 ...

  4. 从 单体架构 到 异地多活

    今天看到一篇写的很不错的文,想着自己总结一下. 异地多活到底是什么?为什么需要异地多活?它到底解决了什么问题?究竟是怎么解决的? 文章目录 系统可用性 单机架构 主从复制 不可抗力 同城灾备 同城双活 ...

  5. 从零开始学架构——异地多活架构

    业务高可用的保障:异地多活架构 无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务.但在一些极端场景下,有可能出现所有服务器都出 ...

  6. 架构训练营七-王者荣耀商城异地多活架构

    一.作业要求 [背景] 假设现在决定要实现王者荣耀里面的商城的异地多活架构,请你分析设计一下. [作业要求] 分析王者荣耀商城的业务特点,设计其异地多活架构; 按照模块 7 第 5 课的方法来设计异地 ...

  7. mysql异地多活方案_数据库异地多活解决方案

    异地多活指分布在异地的多个站点同时对外提供服务的业务场景.异地多活是高可用架构设计的一种,与传统的灾备设计的最主要区别在于"多活",即所有站点都是同时在对外提供服务的. 以一个简单 ...

  8. 学习笔记——异地多活

    ​站在业务开发的角度,平时写代码时,代码的可靠性是需要我们考虑的东西,例如对于一个简单的业务场景,我们或许会使用幂等的Retry操作来尽量保证在一些些突发情况如MySQL抖动时能尽量处理成功当前业务: ...

  9. 蚂蚁金服自主研发的三地五中心异地多活解决方案获金融科技创新大奖

    小蚂蚁说: 2018年9月20日,在杭州云栖蚂蚁金服 ATEC 科技大会主论坛上,蚂蚁金服副CTO胡喜正式宣布,蚂蚁金服的金融科技正式全面开放,为行业提供完整的数字金融解决方案.包括支付宝自主研发的容 ...

  10. 异地多活高可用架构设计实践与思考

    一.引 随着业务的快速发展,对于很多公司来说,构建于单地域的技术体系架构,会面临诸如下面的多种问题:础设施的有限性限制了业务的可扩展性:机房.城市级别的故障灾害,影响服务的可持续性. 为解决遇到的这些 ...

最新文章

  1. 基于短语的统计机器翻(PBMT) 开源工具 :Moses
  2. opencv拟合高维曲线
  3. HTC VIVE SDK 中的例子 hellovr_opengl 程序流程分析
  4. 我必须得告诉大家的MySQL优化原理
  5. nodejs基础学习-文件读取
  6. 机器学习:集成学习(ensemble),bootstrap,Bagging,随机森林,Boosting
  7. 悖论对计算机科学影响,引力波的发现对计算机科学有什么意义?
  8. [蓝桥杯2015决赛]积分之迷-枚举(水题)
  9. python函数 global_Python global全局变量函数详解
  10. vuejs npm chromedriver 报错
  11. 大数据框架对比:Hadoop、Storm、Samza、Spark和Flink
  12. 加密与解密 调试篇(二) Windows调试器实现(一)
  13. 推荐 7 款免费开源的 BBS 论坛软件
  14. BIM标准丨深圳市住房和建设局关于印发《房屋建筑工程招标投标建筑信息模型技术应用标准》
  15. 基于Matlab解决线性规划问题
  16. 每周推荐短视频:道哥表达了对自动驾驶技术的感恩之情
  17. 震惊了!鸿蒙又多了一种开发方式Ets,让更多的人赶上红利!
  18. 今天见鬼了,奇怪,Mark一下!
  19. ffmpeg利用滤镜合并两个视频,一左一右
  20. mysql冷热分离的技术_冷热数据分离思路

热门文章

  1. 湖南计算机高等专科学校高考分数线,刚刚!2019年湖南高考分数线出炉!
  2. php 图片填充颜色代码,PHP获取图片颜色值,检测图片主要颜色的代码:
  3. [C++]-C++基本输入及读取整行
  4. 计算机名称是用户名吗,电脑用户名是什么意思(怎么修改及设置用户名)
  5. JAVA描述汽车喇叭_汽车扬声器喇叭效果怎么样 汽车扬声器喇叭效果介绍【详解】...
  6. 抓娃娃机爪不动怎么办_抓娃娃机出故障了要怎么维修
  7. android pc os,Remix OS Android pc
  8. Spring中的AOP切面编程的三种实现方式
  9. ES6 | let、const以及与var之间的区别
  10. 连接oracle数据库超时,连不上虚拟机,ping不通VMware虚拟机IP的解决办法