首页 > 其他分享 >高可用架构及异地双活系统设计实战

高可用架构及异地双活系统设计实战

时间:2022-10-24 14:37:41浏览次数:48  
标签:架构 可用 业务 流量 机柜 机房 异地 DNS 双活

 

应用的一致性问题:在设计之初,就要避免这种问题。不是遇到才去想怎么修数据

高可用架构及异地双活系统设计实战_服务器

 

 

 

高可用架构及异地双活系统设计实战_服务器_02

 

 

5:架构设计的问题引发

高可用架构及异地双活系统设计实战_机柜_03

 

 

高可用架构及异地双活系统设计实战_机柜_04

 

 

高可用架构及异地双活系统设计实战_机柜_05

 

 

高可用架构及异地双活系统设计实战_机柜_06

 

 

高可用架构及异地双活系统设计实战_高可用_07

 

 

高可用架构及异地双活系统设计实战_机柜_08

 

 

高可用架构及异地双活系统设计实战_高可用_09

 

 

 

高可用架构及异地双活系统设计实战_服务器_10

 

高可用架构及异地双活系统设计实战_机柜_11

 

 

高可用架构及异地双活系统设计实战_高可用_12

 

 

高可用架构及异地双活系统设计实战_高可用_13

 

 阿里的单元化方案,不会出现跨机房的问题

读比较多,写比较少,微博

高可用架构及异地双活系统设计实战_高可用_14

 

 业务的妥协:业务的主键不是使用db的自增机制

读多写少,单点写,其它机房部署的db节点,只能是slave

多点接入机房提供服务

 

 RabbitMQ是有ACK的
Kafka设计之初就是高吞吐量,是没有ACK的
kafka 也有ack=all  ,消费也可以提交 offset

业务的特点,将重要的服务做高可用

开发成本、维护成本

 

双A(Available)机房:

即对服务来说双机房互备,即任意一个机房掉线(天朝内挖断电缆是随时随地发生的)服务依然可用。国内能公开号称自己有双A机房互备的,暂时我只听闻只有BTA,直接近距离听过公开演讲的是阿里与腾讯。但,也只是说到“有”的层次,底层上如何实现,使用什么技术等等,并没有透露。事实上,这些细节,足够以说上一整天,甚至好几天;并且真正参与其中实现的技术人员肯定非常多,也并不是一个人能说清楚。为什么这样说?双A不是你想上就能上阿。~

双A机房必备条件
钱钱钱。没钱你说个球,创业公司都把业务放到一个机房,甚至现在都使用云服务了。即使上了规模的IT公司,单一的业务也只是放在一个机房。
论一个机房可靠性.
假设不挖断电缆的前提。IDC机房还是比较可靠的。都有(BGP)多线路可选,带宽不够使?加加加。还有必需2个以上的UPS后备电源,机柜插槽都是走双线路,即服务器双电都插在不同供电源下。24小时人员值班不在话下。IDC内设备、如路由、交换机什么鬼的,都是给你最好,并且24小时视频监控,闲杂人一般进不去,要不是租用机柜公司授权,IDC值班人员也不能擅自打开机柜锁。所以基本上只要不挖断电缆,机房是可靠的。

业务需求。需求什么?
1)地域上高可用,就近访问;
2)防挖继电缆, 机房被炸。
要解决这两个问题的企业真不多,要不是用户量达到每天几千万级别的,并且全国(仍至全球)用户分布广,你压根不去想高可用这问题。国内网络运营商有多坑爹,不是经历过,你真不敢相信。使用帮你缓存HTTP GET请求的都是小事,DNS直接解释不出来,跃然劫持你域名这种事比较少,但人家敢做。数据链接走法:从广东到北京的,先让你走到新疆再回来也是有,别以为让你直接上京广线。

专线。机房互通不走专线,是等死。不解释了。PS:专线是要线的,很多钱。

双A怎么玩?
智能DNS。

这个是大杀器,全国运营端太多,各家都有自己DNS解释服务器,并且各厂在每个省市都有点。所以腾讯投DNSPosd,阿里收了万网,还有最近比较火的北京快网(Cloudxns),其它不列举了。
智能DNS就是要解决用户就近访问、域名解释、机房流量负载均衡这些问题。并且在机房瓜了后,能快速刷新全国DNS,把流量引导到可用机房。(说实话,好像没几个IT企业能做到机房瓜了后,切流量过程中与切流量后能正常的访问的。原因是切的瞬间,对另一机房流量冲击不一定撑得住,而流量过去后,业务本身是用双机房撑压力的,突然多50%压力过来,软硬件原本就要有富余才行。本身使用多机房业务当然可以)。由于智能DNS厂商一抓一大把,免费的、收费都有,用起来就行了。

机房数据同步才是难点。
走专线。
阿里有各种数据库迁移、同步(binlog式)、读写分离中间层等工具,都是开源的,在GitHub上能找到。但要运行起来并不易,还有个说法是开源版本与内部使用版本不一致(这个我信)。
迁移过程不能停业务,或只可能短暂停。
一般同步的都是DB。
以MySQL与KV数据库为例。我们业务使用的正是MySQL与Redis这两款db

 



标签:架构,可用,业务,流量,机柜,机房,异地,DNS,双活
From: https://blog.51cto.com/u_15147537/5789667

相关文章

  • 【kubernetes入门到精通】Kubernetes架构分析介绍篇「进阶篇」
    意志的出现不是对愿望的否定,而是把愿望合并和提升到一个更高的意识水平上。——罗洛·梅官方网站​​Kubernetes中文官方网站​​​​Kubernetes英文官方网站​​Kubernetes......
  • keepalived双主架构
    一环境规划节点IP功能VIPnode-01192.168.174.120keepalivedmaster/slave192.168.174.20node-02192.168.174.121keepalivedslave/master192.168.174.21二设置node-01节点......
  • keepalived主从架构
    一环境规划节点IP功能VIPnode-01192.168.174.120keepalivedmaster192.168.174.20node-02192.168.174.121keepalivedslave192.168.174.20二抢占模式抢占模式,即当高优先级......
  • 概念介绍_软件架构和概念介绍_资源分类
    概念介绍_软件架构:web概念概述Javaweb:使用iava语言开发基于互联网的项目软件架构∶1.c/s:client/server客户端/服务器端在用户本地有一个客户端程序,在远程有一个......
  • 浅谈软件架构师的素质与职责
    最近开始学习如何成为一名合格的架构师。首先参照别人的观点,在结合自己的实际经验,写出自己对如何成为一名架构师的理解,希望大家热心于与援手,能够指点......
  • Thanos 架构剖析(五)历史数据怎么办
    ThanosCompactor组件是针对Prometheus2.x存储引擎的生成的数据来进行压缩和降准的组件。对于数据压缩来说,并行操作是存在一定安全风险的,所以ThanosCompactor组件......
  • Thanos 架构剖析(六)告警规则如何管理
    ThanosRule组件通过thanosrule命令来启动,通过重复查询Query来评估告警是否触发,如果有多个Query,那么会通过轮询来保持平衡。默认情况下,Rule评估结果以Prometheu......
  • Thanos 架构剖析(三)如何选择 Sidecar 和 Receiver
    Sidecar和Receiver是Thanos和Prometheus进行数据交互的两个核心组件,我们来看看这两个组件有什么区别,分别都是怎么使用的。SidecarThanosSidecar组件需要和Porm......
  • Thanos 架构剖析(四)数据存储和运维工具
    ThanosStore主要提供查询历史数据功能,当Querier组件调用Stroe接口,Stroe再通过对象存储接口获取数据,并将存储数据转换成Querier所需的数据格式。Thanos数据存储Thanos......
  • VMware Horizon 8 2209 - 虚拟桌面基础架构 (VDI) 和应用软件
    请访问原文链接:https://sysin.org/blog/vmware-horizon-8-2209/,查看最新版。原创作品,转载请保留出处。作者主页:www.sysin.orgVersion2209DocumentationRelea......