疫情之下,核心系统架构转型“平衡术”( 二 )

----疫情之下 , 核心系统架构转型“平衡术”//----

  当然 , 在这些全球互联网巨头具体的实践中 , 其分布式架构的运用也都是在充足的财力和人力条件下保证的 , 可是对大部分企业而言 , 如果将之作为一个重要的参照 , 或者赋予分布式架构极高的期望 , 而不了解背后的成因 , 其实也会带来很多“负面”而深远的影响 。

  实际上 , 分布式架构从理论模型上说 , 就不是一个很完美的模型 , 尽管它把各种各样的硬件平台 , 各种各样的框架 , 以及各种开源软件“整合”在了一起 , 看起来很完美 , 但由于分布式架构始终存在硬件、网络的隔离 , 对于一些事务操作不像集中式环境下那样简单 。 CAP理论就从理论上证明了分布式架构的不完美性 , 同时也告诉架构师们不要浪费时间和精力在分布式系统中追求完美 。

  所谓“CAP” , 是指Consistency(一致性) , 由于分布式环境存在多个节点 , 这些节点上的数据在同一时间所存储的数据必须是一致的 , 这就是一致性协议; Availability(可用性) , 即任何时刻需要保证服务的可用和稳定;Partition Tolerance(分区容错) , 即某个时刻出现网络或者硬件不可用 , 甚至宕机 , 其它的机器也要能保证正常可用 。 在分布式系统架构下 , CAP三件事不能同时兼得 。 从实践上来看 , 只能通过妥协的方式达到一定程度的兼顾 。

  与此同时 , 分布式架构或系统严重依赖网络的服务水平 。 采用廉价的、不可靠的硬件的分布式架构 , 希望通过冗余的方式达到可用性指标 , 这里面的沟通和协调工作很繁重 。 网络的质量和性能成了分布式系统的生命线 。 然而 , 网络本身也是一种有限资源 。 例如 , 带宽是有限的;速率是受限的;延迟是不可避免的……

  再如 , 分布式是一个很庞杂的系统 , 包括服务器、支撑软件、应用软件、路由器、交换机、网络带宽、信息安全等等都需要人员维护 , 特别是在当前疫情肆虐的当下 , 最大限度的减少运维人员暴露在现场 , 降低感染几率也十分关键 , 而这也给分布式架构的运维管理工作带来了更大的挑战和压力;此外 , 迁移成本方面 , 目前主流数据库仍是集中式数据库 , 同种类型迁移简单 , 如果替换为分布式数据库 , 应用系统几乎要推倒重来, 迁移成本和风险也巨大 。

  不难看出 , 分布式系统看起来很完美 , 但实际上出现问题的几率也同步增加 , 因此尽管目前分布式架构“大行其道” , 也要理性看待其面临的潜在风险与挑战 。

  集中式架构的开放与创新

  回头再来看集中式架构 , 它是以大型主机的技术堆栈为依托 , 并在半个世纪前开启了以服务器处理为核心的计算时代 , 同时伴随业务、数据的大集中处理发展成熟 , 在这个过程中始终立足于关键事务处理的企业计算 , 由此也催生出了“经久不衰”的集中式架构 。

  在集中式架构系统中 , 我们能够看到一些典型的特征 , 如精简的系统部署、充裕的横向和纵向扩展能力、连续的业务可用、集约的运维规模 , 专注于业务的开发模式 , 以及更好的架构包容性等等 。 从这个角度来看 , 特别是在非常时期 , 集中式架构显然能够更好的发挥关键作用 , 可以让企业集中人力、物力做好核心业务系统的运营和维护的工作 。


推荐阅读