IT管理者本来寄希望于SOA解决系统运维中的一些问题,而这个治病的良药,偏偏又可能带来新的疾病,如网银因系统拥堵而变慢。如何克服SOA架构下的新问题,也就成了IT管理者所要面临的首要任务。
系统运行维护一直是企业IT部门的重头戏,而在银行这样拥有众多应用系统的大型企业,运维问题显得更加突出。当SOA架构出现时,银行的科技部又不得不去面临一些崭新的难题。他们本来寄希望SOA解决系统运维中的一些问题,而这个治病的良药,偏偏又会带来了副作用,如何在SOA架构下克服这些不良反应,也就成了IT管理者所要面临的首要任务。
业务高峰期的拥堵
系统拥堵是经常会看到的场景。以网银系统为例,上午10点钟左右,是一天中最为集中的业务高峰,网银系统发生了拥堵,造成的问题是客户不能正常访问和登录。在实际工作中,首先能够发现问题的往往不是IT运维部门,而是客户服务部门,因为他们接到了大量的客户投诉以及抱怨,当问题不断发现和积累之后才逐步上报到IT管理者手中,然后运维部门才能予以解决。
这时,系统堵塞已发生半个小时之久,并造成了较为广泛的不良影响。为什么运维人员没能及时发现问题呢?其实,这不是他们工作不负责任,也不是领导的玩忽职守。网银系统拥堵的原因并非出现在某个系统上,而是出现在SOA整合之后,多个系统并行和协同的处理引起了系统拥堵。
通过一个服务链路的示意图,网银系统拥堵的原因更容易被理解。如图所示,A、B、C、D是银行的客户服务渠道,E、F、G、H都是后台应用系统。假设A是网银渠道,银行客户在A渠道上提交的服务请求被发送到ESB上,服务总线将请求进行处理和转换之后,再发送到其他的后台应用系统E和G,可能是一个,也可能是多个,而且其中要保证整个服务和事务的一致性,最后再将应答返回给渠道系统A。