课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
高可用性是程序员在开发软件的时候需要重点满足的一个开发需求,而今天我们就通过案例分析来了解一下,常用高可用架构类型与问题。
同城双活:系统从接入层以下在同城两个机房做部署,这样可以应对断电,断网等单机房故障。由于同城机房距离足够近,可以近似看成一个机房,因此在部署上和单机房相比没有特殊要求。但是遇到同区域灾害时,服务就会受到影响,而且扩展性较差。
异地灾备:系统从接入层以下除了在同城两个机房做部署之外,在其他区域部署异地备份,底层数据根据实际要求做热备/冷备,但是不承担任何流量。当区域挂掉时,服务切至备份区域保证服务可用性。但异地灾备的问题是:a)另一个区域不跑流量,出了问题不敢切。b)备份全站,资源利用率低。c)存在跨地域访问。
异地多活:异地多活从接入层开始做多区域多机房部署,各个区域之间没有主备的概念,均承担相应的流量。它的优势在于资源利用率高,扩展性较好。
面临的挑战
异地部署的特点是网络时延较高:一般来说同地域延时2~3ms,同机房延时小于1ms,而跨地域延时一般大于20ms。所以我们先要解决的问题便是如何降低跨地域对导购链路的影响,这也是我们做异地容灾的一个大原则,这面临着几个难点
1.流量如何做到地域内闭环,流量闭环必然有代价,如何平衡这两者之间的关系。
2.多地域部署带来的系统架构的复杂度。无论是流量调控,服务路由还是数据读写同步,都要在庞大的系统中做好精细化的调控,对系统带来的复杂度可想而知。
3.如何做流量路由。如何识别流量的来源,控制流量的去向。
4.系统部署规范。系统在一直不停的演进,如何避免架构快速腐化。
5.流量如何做管控。流量调控规则需要统一做监控,管控等,一旦需要切流时,流量如何快速完成调整收敛。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。