当前位置:首页 > 新闻中心

【开源应用 案例共享】平安银行——分布式服务注册中心方案

发布时间: 2024-05-01 01:18:03  来源:天博app 

  2021年10月,中国人民银行等联合发布了《关于规范金融业开源技术应用与发展的意见》(银办发〔2021〕146 号),规范金融机构合理应用开源技术,提高应用水平和自主可控能力,促进开源技术健康可持续发展。前期,为助力成员单位做好开源技术应用与发展工作,北京金融科技产业联盟开源专委会组织了金融业开源技术应用、创新等方面的案例征集,现对部分优秀案例进行宣传,发挥先进典型示范引领作用。

  分布式系统是IT系统的重要发展趋势,它能自动隔离故障节点,自动切换到正常节点,甚至可以在一定程度上完成多数据中心的服务调度切换,能够在降低系统成本的同时提升系统的可靠性。从国外的谷歌、Netflix,到国内的阿里、腾讯,都大规模使用了分布式系统。而注册中心在分布式系统里扮演了关键角色。

  近些年,随着银行业务的加快速度进行发展,银行系统也慢慢的变复杂,功能迭代速度也要求慢慢的变快,而银行对质量的要求却不能放松。同时基于国产化的战略,系统的可靠性对软件层面提出了更高的要求。实施分布式系统改造,成了迫在眉睫的问题。

  银行业务的特点,是对系统的稳定可靠有着极高的要求。分布式系统、同城双活是在软件层面提高可靠性的重要方法;而注册中心就承担着分布式系统本地调度、双活调度的重要职责。

  平安银行针对开源的主流注册中心进行了技术选型对比,最终选定基于consul开发银行的注册中心。理由如下:

  1)支持多数据中心的服务调度。Consul支持多个数据中心的服务调度,且能够准确的通过consul自身测定的响应时间自动决策获取响应最快的节点。

  2)支持权限控制。支持多种维度的权限控制,且能自己开发后台通过API设置权限管理策略。

  4)易于维护。Consul集群server的组成是基于实时判断的结果,而不单单是配置文件。这样在server集群中的一个机器崩溃后,如果没办法恢复,可以直接用新的机器替代,而不要重新修改配置文件并重启。

  6)平安银行在2019年初开始实施注册中心项目,期间对性能、稳定性等做了全面测试,各种故障场景进行了模拟演练,最终于当年7月份成功上线。

  如下是双活部署架构,两个机房分别部署注册中心集群,集群之间也建立连接,使集群之间可以互相通信。

  两个集群各自独立工作,分别为所属机房的微服务提供服务注册和服务发现能力。当A机房的某个微服务不可用时,服务调用方可以通过注册中心去发现另一个机房的服务,进而调用另一个机房的微服务。

  在实施过程中,基于银行对安全的需求,平安银行对注册中心的权限控制进一步做了优化,提升了安全性;并对集群管理能力做了增强,方便了集群的管理和运维工作;对多数据中心的调度方式,平安银行也做了适配银行架构的处理,还自研了管控平台,对注册中心相关操作进行标准化和流程化,结合银行的生产变更流程进行管控。

  平安银行注册中心运行3年来,成功支持了业务的平稳运行,在2020年也支持了信用卡新核心系统的成功上线。平安银行分布式系统改造为银行大幅节约了IT建设成本,有效支持了业务的加快速度进行发展,为银行的敏捷转型提供了重要保障。

  2.对开源软件也不能盲目信仰,需要认真分析,结合企业自身情况做合适的改造。

  4.对金融行业而言,对开源软件的使用要坚持定位明确,按需采用的原则,避免带入非预期的功能。比如注册中心,定位是提供服务注册发现功能,就不能允许开发自行使用分布式锁等能力,流程上和权限上就要做到优秀管控。

  特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

  男子吐槽某酒店大堂雕塑风格诡异,怀疑是日本人干的,网友:没夹带私货我不信!

  太突然!价格大跳水,上海出发部分降幅达80%!网友懊悔:再也不提前买了

  许家印恒大员工们的案例再次说明,永远别给任何人做担保!不然炸的你倾家荡产

  一个视频教你put on和take place的区别,别再傻傻分不清了

  还在因为otherwise和because而丢分?这一个视频老师教你如何分清