切换(Failover)技术是指在早前运行系统故障或异常终止后,能够手动 / 自动切换到冗余或备用信息系统的能力。
就像衡量一个球星是否可以称之为巨星,要看他能否在比赛的最后一秒投出绝杀球一样。要衡量一款灾备产品是否优秀,则需要看它能否在业务发生宕机的时候,通过切换的方式实现备端业务的接管,将灾备的价值最大化。
不过,在实际业务中,因为技术、场景、流程等的不同,我们经常会遇到一些灾备切换的相关问题,比如:
1、自动还是手动?
这个哈姆雷特式的问题,并没有一个标准的答案。灾备切换需要业务数据的一致性和可用性,不管是自动还是手动,对于企业来说都是一个不小的挑战。
2、脑裂问题如何解决?
脑裂(split-brain)指在一个高可用(HA)系统中,当联系着的两个节点断开联系时,本来为一个整体的系统,分裂为两个独立节点,这时两个节点开始争夺资源,进而导致系统混乱,数据损坏。
3、切换流程如何制定?
灾备切换是一系列操作的组合,不是单一的技术动作,并且由于“容灾黑盒”的存在,其切换的决策难度非常大。无论是生产中心还是灾备中心,彼此的业务之间都有逻辑的联系,服务的启动顺序也有严格的要求。
比如数据库必须先启动,之后才能启动应用程序;应用服务器