文/金晓华 编辑/吴梦晗
“数字外管”和“安全外管”是近年来外汇管理科技工作的建设主线。外汇管理部门高度重视信息系统的高质量建设,致力于推动外汇信息系统建设模式的转型,旨在为外汇管理提供更好的技术支撑。目前,外汇信息系统采用的是集中式架构。该架构的特点是主机资源集中在大型主机或几个小型机上,采用纵向扩展(Scale Up)的方式,通过增加单机的资源配置来提升系统的处理能力,通过硬件设备和基础软件的集群机制来提升系统的可用性。但随着互联网、大数据等技术的迅速发展,集中式核心架构已经难以应对海量数据和高并发的业务场景,分析处理数据能力明显落后,而系统升级迭代则相对复杂,无法满足外汇管理科技建设的需求。相较而言,现代分布式架构在扩展性、低成本、降低运行风险等方面的优势明显,已经成为主流的联机交易系统架构方案。将分布式架构合理纳入到外汇信息系统,可进一步提升外汇管理科技应用能力。
现代分布式架构以X86(微处理器执行的计算机语言指令集)和云计算为基础,以数据切分(Sharding)、读写分离为特征,采用横向扩展(Scale Out)的方式,通过增加服务器的数量,提升系统的处理能力。与目前外汇信息系统所使用的集中式架构相比,分布式架构的解决方案是基于普通电脑服务器(PC Server)来做横向扩展,成本较低,也可带来系统良好的成长性。但由于分布式架构采用了单体处理能力较小、可靠性较低的常规服务器,与主机或小型机相比存在一些弱点。鉴此,要将分布式架构应用到外汇业务系统中,需解决以下关键问题。
第一,实现可用性需求。在外汇信息系统应用分布式架构,应满足以下需求以实现系统的可用性。一是在系统发生故障时,能够做到故障不扩大不蔓延。二是实现系统故障的自动发现与隔离,系统具备一定的自愈能力。三是能够支持业务的无中断升级,提高业务上线速度,降低业务变更的影响范围。四是保证包括网络、存储、同步软件等基础设施的高度可用。
第二,满足安全性要求。采用分布式架构的业务系统,应该考虑在基础设备、操作系统、数据库以及应用等多个层面,采取安全加固措施,以提高系统的安全性能。
第三,保证数据一致性。CAP(一致性Consistency、可用性Availiablity、分区容错性Partition tolerance)理论认为,在一个分布式系统中,一致性、可用性、容错性三者不可兼得。因此,为了满足外汇管理系统数据的权威性要求,要在各项场景下,优先保证数据的一致性。例如,在对系统解耦(即降低模块间的依赖关系)拆分后,要协调各部分之间的并行处理,确保最终处理结果的一致性;在分布式系统数据分开存放、处理后,要保证系统整体可靠性等。
第四,实现分布式架构下的多活(多活是指多中心之间没有明确的主备之分,每个中心都有生产并互为灾备的任务)。分布式架构下多活是其在外汇信息系统应用的另一个技术挑战。需要在分布式处理架构下对业务迁移、数据复制、同步、拆分、负载全局路由等方面,全面进行技术考量,以实现分布式架构下多活实践。
第五,解决运维难题。分布式架构是在廉价硬件基础设施上构建起来的开放技术体系,它采用大量的X86服务器来实现主机或小型机才有的处理能力,在降低成本的同时,应用结构和关联关系更为复杂。庞大的服务器群和复杂的系统,无疑会给运维工作增加难度。因此如何实现软硬件一体化的运维管理,是分布式架构应用于外汇信息系统必须解决的问题。
第一,制定切实可靠的分布式架构转型策略。外汇信息系统庞大复杂,可以在审慎借鉴国内外金融机构成功案例的基础上,按照整体规划、分步实施、风险可控的原则制定架构转型策略。通过敏捷开发、管理轻量化,将庞大的系统解耦,降低系统耦合度,形成小的业务模块;再应用自动化测试发布技术,采用服务重用(指服务可重复使用)、架构解耦达到快速开发上线的目的。同时采用DevOps(Development和Operations的组合词),通过软件开发与运维紧密合作,确保频繁更新架构时系统的可靠性与可用性。
第二,优化“两地三中心”架构。目前,灾备中心运行模式与生产中心为主备关系,在主中心业务遇到问题后,可将网络、数据库、应用全部进行整体切换。但这种方式的资源利用率低下,且切换时会造成业务中断,不能满足较高的业务连续性要求。而在应用分布式技术后,灾备中心可通过实现“分布式多活”,使所有资源在物理分布上可以存储在不同的数据中心,多个数据中心的资源按需实现共享;但需注意的是,逻辑上所有的数据中心需虚拟化为一个大的数据中心,以确保在使用时不会出现差异。在新的架构下,各数据中心协同工作,没有主备机之分,各数据中心并行,共同为某项业务调动资源、提供服务。与“两地三中心”架构相比,这种“分布式多活”架构每个数据中心的资源利用率都较高,服务能力也较强,且在一个数据中心发生故障或灾难的情况下,其他数据中心可以正常运行并接管其业务,达到互为备份的效果。
第三,注重分布式技术的安全管理。夯实科技支撑体系是建设“安全外管”的重要内容,而其关键是要保证外汇信息系统架构的安全。要协同打造“安全外管”,需要关注以下几点:一是要关注分布式系统架构的风险点,参考国内外成功经验,在满足技术创新的前提下,提高系统安全保障能力。二是关注网络延时、故障等因素对系统可用性与及时性的影响,提高系统的服务性能。分布式架构下,由于服务和数据分布在不同的机器上,因此每次交互可能需要跨机器、跨机房甚至跨数据中心(IDC)运行。这需要防止网络输入和输出(IO)成为性能瓶颈,进而导致系统整体性能的降低。对此,可考虑采用异步化、失败重试、数据同步、代理专线等方法予以解决。三是调整安全策略。由于分布式架构采用了虚拟化、开源软件等技术,对安全防护技术及管理模式提出了更高要求,因此需要调整现有的安全策略,布局新的安全模式与技术手段。
第四,强化运维管理能力。由于分布式技术大多使用开源架构,运维工作不再依赖于提供产品的服务方,且随着系统架构节点的增多,设备数量庞大,系统运维的复杂度也会逐步上升。这些都对外汇局的维护管理工作提出了新的挑战,使运维管理在今后的系统建设中占有更加重要的位置。一方面,它对专业的技术化人才需求更为迫切。开源的分布式技术应用,使得运维管理人员需对架构有详尽的了解,并熟练掌握底层技术;另一方面,运维手段趋向多元化。除采用人工运维以外,开发自动化的监控运维平台势在必行。更好地对所有设备进行实时监控、报警和轮询维护,将成为今后运维的方向。
综合考虑外汇局基础架构特点,可分阶段逐步实现整体系统架构的分布式改造,以保证各外汇业务系统的平稳过渡,保障外汇系统架构的安全可靠。
一是开展应用架构分布式改造,实现应用无状态目标。从分布式技术整体发展趋势看,传统集中式系统架构和分布式系统架构会在一段时间结合并用,以实现业务稳定不中断、改革创新有方向。在此阶段,整体系统架构可继续使用集中式架构,仅对部分创新性较强、业务并发性高的应用场景进行分布式改造,并与集中式架构整合,统一管理,以此来降低新技术带来的风险,保障外汇业务的连续性。
二是实施云化基础设施改造,实现设备资源的虚拟化。建立云平台,开展数据层分布式改造,在保持接口兼容性和数据一致性的前提下提供分布式存储与服务能力,逐步迁移各类应用到云平台之上。在这一阶段,应实现数据与业务分离,实施业务去状态化改造,并将数据层迁移到云化基础设施。云平台还应提供统一的基础运维,提供应用的图形化编排、自动化部署、运行监控,以及弹性伸缩、容灾等高可用性服务。
三是建立微服务治理框架,按需提供云化业务服务。传统单体应用侧重于一个系统包含各个服务模块,且服务模块之间没有完全解耦,存在一定的耦合。而微服务架构则侧重于服务拆分,不同的业务主题域由不同的应用承载其服务逻辑,应用之间相互独立,服务之间实现完全的解耦,通过系统之间的轻量级通信机制实现相互的协作。这一阶段的重点是打造开放的服务能力平台,统一数据处理,减少对数据层的逻辑依赖,实现基础业务能力的服务化。
分布式技术应用于外汇信息系统架构转型已在路上,相关技术部门应进一步做好分布式技术的深入研究和实际应用,实现信息系统的快速、高质量建设,提升科技对业务的响应速度,为建设“数字外管”和“安全外管”提供更好的技术支撑。