▌概述
很多互联网公司在发展过程中大多出现过多次机房网络故障的情形,如果发生故障,一般需要动用整个IT部门的人力进行流量切换和客诉处理。为了避免此类情形的发生,公司计划进行服务的高可用建设。会员部门持续跟进公司网络基础设施建设,和网络等基础服务部门一起,实现服务的高可用。目前已经实现了同一Region的互备,这里分享一下会员服务的高可用建设的实战和探索。
对于网络、机房、硬件服务器之类的故障,一般采取多备份和绕路回避的策略,将流量从出故障设施切换到正常的集群中,将故障服务下线,待服务恢复后再切换回来。总体来说,须要求多副本部署、实时故障检测和服务快速切换。目前会员已经实现从最上层的DNS服务到底层的数据库的自动切换。
▌高可用的方案
网络层 |
多区域,多出口,出口有互备和切换的能力 |
根据目前的CDN结构,将地域划分为北方,华中,华南,海外四个区域,每个区域支持主流运营商,保证流量均衡 |
应用层 |
多机房部署,相互独立 |
到少保证两个机房互备,实现基础架构两地三中心的战略规划 |
储存层 |
多实例,可以指定切换方向 |
Mysql/Redis都可以自动将故障的实例下线 |
消息层 |
统一使用RMQ |
RMQ支持高可用,可能自动备切,将amq替换为rmq |
监控层 |
监控DNS, |