数据库 频道

转型分布式系统的困惑与对策——一位银行资深IT人的思考

  【摘要】从集中式架构演变到分布式架构,给银行内围绕集中式架构的相关岗位人群带来了新的挑战和职业风险。当时代抛弃你的时候它都不会给你打招呼。作为一名银行的数据中心从业人员,根据十几年来经历IT架构的情况,说说自己的感受。

  【作者】加州是我,2004年大学本科信息管理专业毕业后进入当时一家新兴的全国制股份银行,从此开始IT运维工作,从未换过部门科室,一路伴随该银行的不断发展走到今日。经历了批量操作、基础设施运维、应用系统维护、IT运维及分支行筹建等多种岗位。尤其亲身经历数据中心从无到有、从小到大的过程;从传统的集中式、电子化到现在的分布式、智能化,从物理机到云时代的发展。

一、综述

  随着云计算、大数据等数字技术的广泛应用,以及在移动互联网、互联网金融、去IOE和自主可控等内外环境和监管政策的指引和驱动下,中国金融的科技领域正发生着翻天覆地的变化。银行、保险、证券、信托等金融行业为了提高信息系统的灵活度、降低成本、安全可控等,纷纷采取分布式架构和相关技术建设新系统或者重构原有系统。

  在企业信息化建设快速发展的今天,金融行业信息系统规模越来越大,复杂程度越来越高,IT 架构技术支撑能力的重要性愈加凸显。具备处理大规模高并发交易处理能力已成为银行业务系统的标配,当前在互联网业务蓬勃发展的大背景下,基于海量数据的处理与分析需求不断增多,随着银行对IT成本的控制更加严格,对IT 架构的选择也更加谨慎。

  作为一名银行的数据中心从业人员,根据十几年来经历IT架构的情况,说说自己的感受。经历了小机+存储的典型物理架构、从前置系统+核心系统的集中业务架构,到现在的分布式、大数据、智能化的IT变化,银行内的信息架构也随着时代的改变在不断的演化升级,已开始逐步从集中式架构演变到分布式架构。这一演变,也给银行内围绕集中式架构的相关岗位人群带来了新的挑战和职业风险。当然,这其中也存在着新的机会,因为新的架构,新的体系,也意味着需要更多符合要求的新人才。

二、分布式系统产生的背景

  首先说说集中式架构,这个架构多用于传统金融行业、运营商等行业。主机资源集中在大型主机或小型机上。集中式架构下,包括操作系统,中间件,数据库等“基础软件” 均为闭源商用系统。集中式架构的典型案例是 IOE(IBM, Oracle,EMC)提供的计算设备、数据库技术和存储设备共同组成的系统,各方面的技术支持相对稳定、安全,用户自身的技术储备也相对充分。

  随着社会信息化的快速发展,金融服务呈现出海量用户增加,而且需要响应“个性产品定制”、“实时风控决策”、“快速敏捷响应”等新特征,这对银行信息系统架构提出了更高的要求。下面从系统容量、成本、适应性、可用性、云化、自主可控等几个方面来说说分布式系统优势,在一些场景中,传统的集中式架构可能无法满足未来科技金融银行发展的要求。

  1、系统容量。随着我国对金融服务的需求越来越高,系统业务量越来越大,依靠传统集中式架构下有限数量的服务器,其性能已经接近瓶颈,我们需要更多的服务器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式的架构。

  2、成本控制。在银行业辉煌的10余年间,利润飞速增长,给银行的信息化建设过程带来了前所未有的发展。在这段时间内,各大型商业银行都建立起了以主机为核心的集中式架构,并完成了数据大集中和配套周边系统的大规模建设。然而近年来由于互联网金融的冲击,利率市场化等内外因素,利润增长乏力。成本控制已经成为我们面临的一大挑战。分布式架构不再依赖专用设备和软件,可以大幅降低基础设施的投入成本。

  3、适应性更强。分布式架构强调服务化的设计理念,一般是通过组件化和微服务来解耦应用间的设计依赖。通过服务将应用间的数据依赖重新组织后,系统的灵活性得到增强,数据变动的影响也可以被限制在一定的范围,而且服务本身更贴近业务场景,可验证性更强。这样的应用一定对未来的业务发展有更强的适应性。

  4、加强系统可用。银行的系统基本都已经要做到365*24的不间断运行,我们的业务系统也越来越关键,系统架构的可用性面临巨大挑战。这就意味着架构中不能存在单点故障。分布式架构首先通过拆分,来降低每一部分的影响范围,然后利用冗余提供更多的容错能力,最后还可以通过故障隔离、服务降级等手段进一步确保系统的可用性。

  5、更符合云的要求。云的核心特征就是弹性,而传统的集中式架构,依赖昂贵的专用设备和企业软件,无法很好的适应云端部署的要求。分布式架构更加轻量化,更加灵活,自然更适合云端的部署和运行。

  6、自主可控的要求。信息安全、技术自主可控已成为国家战略,必须尽快打破技术受制于人的局面。而传统集中式建设模式,缺乏自主掌控,高度依赖供应商支持,加重了科技研发压力,加大了生产运行风险,无法快速响应市场变化,限制了业务模式创新。分布式架构大多基于开源技术,自主化程度高,采用横向扩展模式,可实现业务的快速上线。

三、架构转型对银行的意义

  1. 分布式系统架构是技术发展的趋势

  随着互联网和云计算服务的快速发展,作为其主要技术的分布式计算、存储和应用技术正在成为当今信息科技的主流。分布式系统架构不仅具有可扩展性强、处理效率高、容错能力强等特点,更为重要的是,它还是大数据、机器学习、人工智能、区块链的支撑技术。目前,国内外金融机构都在积极、审慎地开展私有云建设,研究并尝试开源、分布式技术和应用。

  2. 架构转型是银行生存和发展的迫切要求

  第一,生态化、场景化的金融服务,以及数字化、智能化等技术,已经对银行的支付、征信、风险技术、理财、客户获取等核心领域产生极大冲击,互联网技术创造了平台经济、共享经济,也推动着金融服务模式的创新,银行不加快技术转型就会被未来淘汰。

  第二,以开放、合作、分享的理念和态度参与到互联网金融生态中必须要有开放的技术体系和架构与合作者联接和交换,现有的闭源架构在一定程度上限制了银行业务的合作范围、扩展性和效率。

  第三,开源、开放的分布式技术成本更低、效率更高、用户体验更好、开发和测试方法更为敏捷。

  3. 架构转型是适应我国金融业安全可控趋势的迫切要求

  以X86、开源为特征的技术体系,有利于我国信息产业企业和银行业掌握技术,从而改变我国银行业长期以来基础软硬件等核心技术完全依赖国外厂商的状况,适应国家网络空间安全战略要求。

四、银行人员的对转型分布式系统的困惑和解决思路

  尽管分布式系统架构成为趋势,但是银行业要实施架构转型,在思想观念重塑、团队能力建设、技术难点攻关等方面尚存在巨大挑战和困难,必须采取强有力的措施攻坚克难。

  1、困惑一:思想观念转型难度大

  长期以来,银行信息科技团队将确保客户和银行的资金安全作为恪守铁律。使用最成熟、稳定的技术,保证系统交易的实时一致性,是银行信息技术部门的基本工作原则。因此,银行架构无一例外地选择使用以IOE为代表的成熟、稳定、具备良好技术支持保障体系的“经典”商用软件和体系架构,并培养了大批熟悉应用相关技术的优秀技术人员。分布式架构与传统架构相比,在架构、设计、开发、运维、管理上需要有不同的思维和技术能力,这对我行现有技术团队的思想观念和思维模式造成巨大冲击,需要有一个“脱胎换骨”的转变过程。

  对策:

  一是虚心向掌握新技术的互联网公司学习,开展技术交流与合作。

  二是建立云计算、金融IT产品创新实验室专职研发团队,通过小团队的研究、创新、试点和培训,以点带面。

  三是应用新技术解决业务痛点,让技术团队和业务部门真切感受到新技术的好处,理解和支持技术转型。

  第四,也是最为重要的一点,高管层高度重视和支持架构转型工作,给信息技术部门留出一定的转型时间、资金,以及试点和试错空间。

  2、困惑二:缺乏掌握新技术的人才

  开源技术同样需要技术支持,但是与传统技术发展路径不同,云计算技术专家大多集中在互联网公司。由于开源技术的变化很快,研究这些技术的大多为创新型公司,一般规模小、不稳定,难以提供持续、稳定的技术支持,并且缺乏对银行应用特点的理解和实践经验。银行必须培养和拥有一批既掌握新技术又有丰富银行应用经验的技术人才,而银行现有的招聘、薪酬和激励机制,不足以吸引此类紧缺人才。

  对策:

  一是高度重视并积极尝试建立吸引和留住信息科技人才的机制,建立信息科技专业技术岗位序列,让专家型技术人员有良好的发展空间。

  二是通过制定转型目标、针对性的培训、项目实践、评估阶段效果等措施,有计划、有步骤地循序渐进,目前已取得了一定成效。

  三是积极开展与国内有实力供应商的合作,改变单纯的甲乙方关系,联合开展技术难点的研发和攻关,共同培育市场化的服务支持环境。

  3、困惑三:数据持久化层的技术难点

  在银行IT架构向分布式架构转型过程中,最大的技术难点在于“数据持久化层”的分布式。相比之下,应用逻辑层和接入层的分布式架构已经很成熟,在银行内已经得到广泛应用。之所以说是难点,是因为数据是有状态的,特别是银行核心系统保留的账务数据,在交易过程中会被不停地更改,这部分数据一旦被分布到多处存储,就会造成更改信息的不一致、更改信息不可见、读取信息不准确等一系列问题,也就是技术上经常说的分布式事务下数据一致性、隔离性、原子性和持久性的问题。

  对策:

  为解决上述技术难题,在分布式数据库中研发了“全局事务管理器”和“分布式隔离级别”。

  前者很好地解决了分布式事务一致性和隔离性问题,但仍然没有突破CAP理论(又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得),处理性能会受到影响,分区容错性也就成为了一个分布式系统必然要面对的问题。

  为解决性能问题,又研发了“分布式RR”和“分布式CR”两个隔离级别,对明确不会产生分布式事务、不受分布式事务影响的请求,可以指定“分布式CR”隔离级别,从而确保分布式数据库的整体处理性能。

五、小结

  银行业是信息化程度较高的行业,信息化队伍及知识储备相对充分和快速,在短短十几年,各银行业金融机构在分布式架构领域已有很多收获。但总体而言,银行对于分布式架构的应用仍然落后于互联网行业。银行分布式架构特点是混合模式,在应用层广泛采用分布式实现,但在数据库层,还普遍采用集中的数据库模式。

  套用最近的一句时髦话说:当时代抛弃你的时候它都不会给你打招呼。总之,技术是为业务服务的,无论是集中式架构还是分布式架构,都需要根据不同的应用场景,选择合适的技术架构。确保客户资金安全和生产运行稳定,是银行信息化建设的首要原则,在分布式架构应用当中,要结合技术可控、风险可控、成本可控综合考量,要本着实事求是、稳妥前行的原则逐步推进。

1
相关文章