异地多活改造:架构师和产品之间的唇枪舌战
2024-02-28 17:36:24
异地多活改造的艰难征程:当技术碰上抉择
“异地多活”的概念对于技术人员来说并不陌生,它是一种将业务系统部署在多个数据中心,以实现系统高可用和容灾备份的技术方案。然而,当技术与业务需求相遇,架构师与产品经理之间往往会产生激烈的“battle”,这正是得物异地多活改造一期的真实写照。
异地多活的必要性:业务需求倒逼技术升级
得物是一个以潮流服饰为主打的电商平台,随着业务的快速增长,原有的单机房架构已经无法满足业务的需要。异地多活改造成为必然选择。
异地多活可以实现业务系统在多个数据中心的部署,当一个数据中心发生故障时,其他数据中心的业务系统可以迅速接管,确保业务的持续性。此外,异地多活还可以提升业务系统的容灾能力,避免因单点故障导致业务中断。
技术方案的抉择:架构师的苦心孤诣
架构师团队在异地多活改造中扮演着至关重要的角色。他们需要根据业务需求,设计出合理的异地多活技术方案。
在得物的异地多活改造一期中,架构师团队提出了两种技术方案:同城双活和异地三中心。同城双活是指在同一城市部署两个数据中心,异地三中心是指在不同城市部署三个数据中心。
同城双活的优势在于距离近,延迟低,故障切换时间短。但是,同城双活存在一个致命的问题,即一旦发生城市级灾难,两个数据中心同时瘫痪的风险很高。
异地三中心的优势在于抗灾能力强,即使发生城市级灾难,也可以保证至少有一个数据中心正常运行。但是,异地三中心的延迟较高,故障切换时间也较长。
经过激烈的讨论,架构师团队最终选择了异地三中心方案。因为得物的业务对延迟的要求不高,而容灾能力至关重要。
产品经理的质疑:业务需求的拷问
产品经理团队对异地三中心方案提出了质疑。他们认为异地三中心的延迟较高,会影响用户体验。此外,异地三中心需要投入更多的资金和资源,这可能会对得物的成本控制造成压力。
产品经理团队要求架构师团队重新考虑技术方案,提出一个既能满足业务需求,又能兼顾成本和用户体验的方案。
唇枪舌战:技术与业务的交锋
架构师团队和产品经理团队之间展开了激烈的唇枪舌战。双方各抒己见,谁也不肯让步。
架构师团队坚持异地三中心方案,他们认为业务的容灾能力是第一位的。而产品经理团队则坚持同城双活方案,他们认为用户体验和成本控制也是不可忽视的因素。
争论陷入僵局,双方谁也无法说服对方。
折中方案:技术与业务的平衡
最终,在高层的协调下,双方达成了一致,采用了折中方案。
在机房A和机房B之间部署同城双活,在异地城市部署一个备用数据中心。这样既可以满足业务的容灾需求,又能兼顾用户体验和成本控制。
结语
异地多活改造是一项复杂的系统工程,涉及技术、业务、成本、用户体验等多方面因素。得物异地多活改造一期的艰难征程,正是技术与业务碰撞的缩影。
在这个过程中,架构师团队和产品经理团队各抒己见,唇枪舌战。最终,在高层的协调下,双方达成折中方案,既满足了业务需求,又兼顾了技术实现和成本控制。