首页 » 行业声音

分布式架构 | 民生银行牛新庄:轻量级分布式核心产品分享(内附下载)

时间: 2019-05-13 15:12     浏览次数:152    来源:未知

近日,由金融科技创新联盟、交通银行、中国建设银行、中信银行、华为技术有限公司联合主办的金融科技创新论坛(第十期)暨金融分布式架构专业委员会2019年度第一次工作会议在上海成功举办。金融科技创新联盟副理事长、中国民生银行信息科技部总经理牛新庄出席会议并做了题为《不忘初“心”,与生共“赢”——轻量级分布式核心产品分享》的主题演讲。

 
 
 

金融科技创新联盟副理事长

中国民生银行信息科技部总经理牛新庄

 

 

以下为现场发言实录:

尊敬的陈司长、徐连峰徐总以及联盟的成员,还有各位同仁,非常荣幸能借助联盟这个平台给大家分享民生银行在分布式架构的实践。

 刚才工行张艳总的分享特别精彩,主要侧重技术的架构;而我这个主题偏重于业务架构,包括轻量级的平台产品、技术平台和输出。为什么我分享这个主题?有这么一个前提,分布式架构已是一种技术趋势,某种程度来说就像天下大势,只可顺势不可逆取。分布式的架构在互联网企业应用的非常广泛,但互联网企业和金融领域的要求不一样的;金融领域的要求比互联网企业高,因此普遍的思路是在银行的边缘系统先用,再慢慢走向核心。但民生的核心想法是先内后外,如果一家银行的核心系统都用分布式,那意味着没有什么不可以用。经过5年的自主研发,民生的分布式系统于去年1月28号正式上线,目前已经把直销银行、客户信息、现金凭证、贷款、支付等迁移完成,下一步计划迁移一类户存款。工行一天有7、8亿笔交易量,民生大概9千万到1亿笔交易,对中国的中小银行还是有实践意义的。

民生银行去年成立民生科技公司,作为科技公司,我们还有一项任务,就是向中小银行去推广我们的先进科技成果。民生目前在正帮一家城商行把核心系统用分布式来实现。我今天这个演讲就是在这样一个大背景下,即如何帮助中小银行做轻量级的分布式核心。

当前金融行业爆炸式的业务需求和有限的资源供给之间的不平衡;科技是最后一公里,所以我们希望做轻量级分布式的思路是“用户中心化”,“数据驱动化”,“利率市场化”,同时还要考虑自贸区的相关东西,以及关系定价,产品工厂化,业务参数化,本外币的一体化,多法人,多租户,企业级数据治理。一家银行的科技强包括两方面的能力,一方面是技术能力,就是各种平台,这是必要条件;另一方面是业务能力。只有技术能力和业务能力相互匹配才能体现这家银行的科技能力。

轻量级分布式核心设计的原则包括:应用易适配,模块可裁剪,支持多中心多活,支持敏捷业务应用开发,低于集中式系统的运维复杂度,业务强一致,支持灰度发布和全链路压测等,我们业务遵循的强一致性设计。过去集中式架构做双活太难,存在着一种矛盾,而在分布式架构上做双活则有天然的优势。

第二步针对应用产品;轻量级核心应用架构,顶层是领导关注的战略管理,再往下是核心基础产品,这里面包括产品管理、风险管理、核算的管理、以及核心的基础产品,包括运营管理。这就是一个轻量型的适合中小城商行的分布式架构。

轻量级核心整体应用架构,在应用架构里面我们可以看到是组合的服务层,原子服务层,包括产品工厂、存款、费用工厂、关系定价等。今天讲的分布式架构转型,其实背后的逻辑是要转变我们的知识结构。原来所有商业银的知识结构是IOE的架构,今天通过分布式架构的转型来改变我们的知识结构。金融科技是金融和科技的结合,从最早电子银行、会计电算化,到数据大集中,到后来的金融电子化,金融移动化,金融数字化,到今天金融科技。金融科技要改变的是什么?第一:提高传统银行的客户体验,过去我们银行对客户的服务都是用部门利益割裂化的;业界招商银行做的很好,已经到用户这个层面;第二:提升传统银行的运营效率;第三:降低成本,考虑投入产出的效益。技术的手段做商业银行转型的过程中最难的是改变传统银行的文化。分布式架构需要技术能力和业务能力的结合;这已经是一种不可逆,大家都觉得必须要改变,现在很多银行都看到数字化转型,其实这才刚刚开始,转型有很多路,对传统银行的一套流程要有发自内心的一种改革,才能在竞争中走出自己的特色。

这是轻量级的应用架构,在这个架构里我们可以看到服务组合;最关键的是把整个IT架构的服务治理做好,第一步做分布式数据库,第二步做中台的服务治理;这才能算是彻底的分布式服务框架。民生的分布式服务框架、EDA、分布式数据访问层都是自己开发的,民生申请了18项的专利和著作权,包括分布式的批处理,分布式的的路由调度,综合运维平台。整个分布式里面45%的源代码是为了运维写的。分布式改变的是传统科技的一套思维方式和知识结构。

这是一个部署结构,可以看到数据中心A、数据中心B,负载均衡,机房共享区。只有用这种架构才有实现灰度发布的可能。今年春节我们在马坡数据中心给董事长现场进行切换演练,马坡的数据中心流量全部切过来,切换只是处理能力可能下降了。灰度发布共有四个分区单元,过去上线只能在晚上,现在可以随时在某个分区单元上先做,完了以后有问题可以再改,稳定后在同步到其他分区单元,这是分布式架构带来的好处。过去我们说科技要敏捷,敏捷必须要有技术架构的支持,否则不可能实现。

业务的主体包括我们的产品工厂,关系定价、利率市场化,账户体系、费用工厂、用户信息、交易与核算分离,多法人多租户。产品工厂是我们支持产品生命周期管理所需功能模板,通过参数变更来实现所需产品的快速定制和变更。包括基础产品,组装车间,产品目录、产品发布,就是我们现在提到的一个概念,叫做中台的一个概念。关系定价就是差异化定价,根据客户群、机构、渠道和账户不同的维度对产品层面定义的价格。利率市场化包括产品定价系统,资金转移定价系统,资产负债管理系统,盈利能力分析系统,分析型客户关系系统。核心业务系统实现灵活的产品定价参数配置,涵盖产品管理、利率设置以及定价的灵活配置。

账户体系包括独立账户,母子账户以及金融账户和非金融账户,实体账户和虚拟账户。这套解决方案不光光是技术,在产品、业务上的管理更强。实现了城商行业务能力的提升。

费用工厂也是轻量级分布式系统支持多层次架构体系。按照很多类型,本外币等来支持。我们全面支持海量的用户信息,核心系统对用户信息的管理进行全面升级。以用户为中心,包括客户的安全管理,就像行为的分析记录,就像手机银行,如果不做用户行为的分析,就不可能做到千人千面,就不能去迭代用户体验。

交易与核算相分离,包括总账系统的独立管理,会计、核算与交易相分离,支持同步或异步生产会计目录,包括科目、产品等独立的核算引擎。银行的分布式应用分为几种,包括手机银行,网银这是典型的通道型应用,很容易做。但是最难的是账户,核心账户是需要动应用的。过去转账在传统的架构里面就一笔交易,但是在分布式架构下面是三笔交易,这就是不一样的地方,所以账户的分布式式是比较难的。手机银行、网银只是一个通道,但对账户来说就比较难做分布式。最终一致性有好多东西是要靠应用去补偿的。过去的逻辑是用数据库来实现,用交易中间件来实现。今天很多时候异常的场景要靠应用的业务逻辑去补偿。将来我们科技公司要支持小银行的托管业务,所以我们要必须支持多租户、多法人。

这是技术平台的架构,包括开发、测试、部署和运行,在传统的架构里面开发和运维泾渭分明。在分布式架构中需要运维前探到开发之中。这改变了传统的模式,过去数据中心的人都很被动,今天数据中心的人有35%的时间用在开发上,开发在分布式架构下的一些工具。

民生原来的核心架构是集中式的,一套下来成本X千万,每年运维费X千万。现在整个账户全部用的华为服务器,而且不用额外的存储,都是自带的硬盘。数据库用的开源的mysql,整个下来成本才X百万;按照三年的折旧,原来一个账户成本2.2元,现在大概8分钱。

这是服务治理的技术架构,包括配置中、监控中心,注册中心,治理中心,架构上面和工行都类似。微服务化以后集成是比较难的,应用程序多,运维平台分散化,学习成本高。原来只是一个数据库,每天晚上备份一下就可以了,但是今天不行,你是分布在N个机器上的N个数据库,必须要有个工具。在整个分布式架构里面45%的开发是为了运维。这样你的服务治理,架构的管控会非常好。运维必须用工具,用自动化。

集成包括自动化部署、测试,应用管理以及监控平台的解决方案,要统一门户,实时监控,统一运维,实时预警要持续的集成。

运维管理的实时化自动化,我们必须要做交易分析,实时链路分析。数据中心一定要实现可见、可管,可记。我们有个日志的平台,会把所有的日常收集起来,每天进行分析学习,学习完以后可以做很多事情。业务人员可以做查控,开发人员可以做交易模拟,交易量对比分析等。过去是没法做的,几百家供应商的日志格式不统一。

技术架构支持多个物理机房,全链路跟踪监控预警,容灾切换,注册节点,监听配置,调用服务,配置中心等等。从整体架构看,分布式数据库访问层是非常重要的一层,我们支持DB2、mysql,Oracle。

分布式事务方案,要有一个标准化的模型,要有高可用的业务活动管理器,高可用的业务活动管理器服务,并纳入整体技术平台的服务治理体系,框架保障等等,事务的一致性管理是最关键的。

微服务分布式事务方案的两个应用场景,场景1是服务垂直拆分带来的涉及服务间RPC调用的分布式事务,场景2是数据库水平拆分带来服务内跨多个数据库、表操作。数据库水平拆分带来的跨多个表的操作。

这是可视化的应用开发工具,包括部署管理、集成测试,单元测试、流程可视化装配、数据结构管理、版本管理等等。

整体来说,轻量级分布式核心面向分布式微服务组件化设计。支持多种输出模式,包括整体产品输出、单个业务组件或者技术组件输出、整个技术平台产品输出以及单个业务模块输出。因为时间有限,很多细节的东西可能比较深入。我觉得分布式某种程度上来说是一种趋势。整个金融行业的科技水平要比其他行业快3到5年。我们希望通过在金融行业分布式的这种实践,能够给同业提供一个交流的机会,大家都在走这条路,我们希望大家如果有兴趣的话可以到民生银行来交流。今天时间有限,还有很多没有办法展开。

感谢联盟提供这样一个平台,谢谢大家!