如何在银行核心系统中安全地搭建微服务架构?

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务作为现代互联网应用的主流架构风格,已在很多行业应用中获得广泛的成功,而银行核心系统由于其复杂性和风险敏感性,主流架构依然在从单体式 SOA 到真正的微服务分布式架构的转型期。

在此情况下,我们邀请了金融壹账通核心系统产品及研发负责人吕书峰老师,请他来 ArchSummit 全球架构师峰会(上海站)会议上分享壹账通在银行核心系统领域的微服务架构的设计经验,以期帮你解决如何安全地搭建微服务架构的问题。(以下是采访对话内容整理)

**InfoQ:银行核心系统由于复杂性和敏感性,大多数主体架构依然在单体式 SOA 阶段,壹账通为什么选择了微服务架构呢?
**

吕书峰:进入银行 4.0 时代,基于高性能主服务器的 SOA 架构无法适应多变复杂的商业环境,当今环境要求系统能灵活地应对复杂的业务需求来提升业务敏捷性,同时又能够保证高度的稳定性和健壮性。

在数字化经营方面,受互联网金融的影响,银行普遍有快速推出创新产品的诉求,而经过积年累月的发展,核心系统通常会演变得非常复杂,即使有良好的参数化设计,也不可能覆盖所有的业务/流程需求,事实上,参数化程度越高将导致设计复杂度提升,而这将导致应用维护和运营管理成本和难度加倍。同时随着金融强监管的趋势,牵一发而动全身的核心系统的变更会更加敏感,因为一旦有所故障就会影响很多客户,达到一定程度就要向监管上报。

因此壹账通认为新一代的核心系统要能更好地实现分布式设计,做好领域模型的设计划分。而微服务职责分工清晰定位,能够独立开发、测试和部署,也能为未来扩展留出足够的设计空间,能支持可组装的业务设计需求,同时也能更好地结合云原生技术充分地利用物理资源,实现按需弹性扩容,因此我们选择了微服务架构。

金融壹账通是面向金融机构的商业科技服务供应商(Technology-as-a-Service Provider),为国家高新技术企业。作为中国平安集团的联营公司,金融壹账通在吸收了多次核心系统重构的经验,例如平安银行的多次迁移工程,服务了国内外很多客户,同时借鉴了行业内主流厂商核心系统的优缺点,推出了新一代的国产化分布式核心系统平台。到目前为止,我们基于新核心系统为多家数字银行提供了完善的整体方案,在帮助客户提升业务绩效、降低成本、全面走向数字化运营转型方面获得了一定的成就。

InfoQ:能否请您简单介绍一下金融壹账通核心系统领域的微服务架构?壹账通核心系统的微服务架构是如何搭建的?

吕书峰:首先,金融壹账通的核心系统的设计目标是以平台化的 SaaS 模式给中小银行提供低成本运营服务;这就要求其必须具备很强的平台扩展性和按需分配的可插拔的服务能力;同时核心系统在一家数字银行的运营业务中起到全周期的作用。因此我们按照 Gartner 的产品分层模型将系统架构划分成标准层、差异层和创新层。

这样,核心系统的公共特性,比如基础账户服务、基本核算规则、基本的存款和贷款的结算功能都属于标准层,基于基础服务构建的产品系统如大额存单、贷款额度等等属于差异层,比如,而场景端的金融产品设计则属于创新层。

与之相匹配,我们提供了基于标准层的平台服务、基于差异层的银行产品设计(基于平安多年的金融专家能力)和基于场景端创新层的生态产品的解决方案服务。

从平台化的核心系统的用户视角来看,产品分层模型又对应着 API 领域的 SystemAPI,ProcessAPI 和 ExperienceAPI, 即在标准层提供基础系统的标准 API;在差异层提供中台化的可复用的功能 API 和 API 流程引擎来提供构建丰富的产品特性的能力;在创新层提供专注体验设计的可扩展 API,如为渠道端提供设计组件库服务 API。

以上是纵向维度的设计。从横向维度来看,壹账通核心系统基于业务垂直领域进行了基于领域模型的微服务拆分。从架构逻辑上可大体分为数据管控层和业务管控层。其中,数据管控层依靠 Sidecar 模式管控和传递服务之间的流量;业务管控层负责对服务进行注册和分发,安全认证和流量加密。分布式核心体现了互联性,安全性,可控性和可跟踪性的特点。

我们业务模块的划分的核心是领域驱动的设计思路。金融壹账通的微服务在设计领域模型时会更关注银行具体的业务流程,而不是单一的功能或者数据。通过聚焦具体的业务流程,能更好地理解用户视角的功能边界,以便于微服务设计和落地时更容易设计边界上下文(boundry context)的切割以及边界上下文之间的映射衔接。这样的做法也可以避免让数据模型干扰领域模型的设计。

InfoQ:这个架构如何解决风险敏感和安全性两个问题的呢?

吕书峰:首先,我先讲下风险敏感和安全问题的重要性。核心系统是银行业务的心脏,风险和安全设计必须原生地考虑在整体架构中。业内通常每一家银行都有制定业务连续性政策和信息安全保护的政策要求,并为监管机构重点检视。

对一家数字银行(虚拟银行)而言风险和安全设计尤为重要,因为除了线上的渠道外,没有其他线下网点可以用来做备份来保证客户的权益,同时,由于更大程度的自动化运营,银行的手工运营人员配置越来越少,因此微服务的容错设计非常关键。

另一个方面是合规层面的要求,鉴于银行经营的特殊性,以及日益增强的监管压力,从业务运营的各个场景中抽象出有关运营风险管理的“切面”:checker/maker,反洗钱入口,反欺诈控制,CDD 等等各个业务口子的设计,同时考虑同步异步要求和用户体验,之前提到的 ProcessAPI 的设计要求考虑到合规运营的多种要素。当复杂的银行业务彼此连接或组合在一起,排查风险隐患也会随之越来越难。

得益于微服务架构天然的可分解性,当你让一小部分可以彼此配合工作时,确保正确的实施和行为将会变得更加容易,这需要微服务业务审计层面的设计来保证。

安全性主要从技术设计上考虑数据保护的问题,通常有四个方面的考虑,传输安全、数据存储、加密标准、授权机制等。

譬如在应用访问方面,有 API Gateway 首先处理基于访问令牌的身份验证,验证完客户端之后还必须实现访问授权机制。在一些特殊敏感的 API(比如动账类)还可以通过配置启用透明令牌(例如 JWT)来传递信息来增强安全性。

在数据传输方面,通过配置密钥(密钥本身也会加密托管在 Vault 中),使客户的敏感信息在传输过程中以及落库的时候都会进行加密处理,而在营运管理过程中接触到的客户数据则按照授权要求进行脱敏和还原处理。

核心系统的微服务架构要求具备在这四个方面的高标准的实现并能够按照部署模式的差异要求做出可配置的参数化能力。金融壹账通的核心系统在这四个方面达到了业界最高标准。

由于金融壹账通提供 SaaS 化的核心系统服务,整体的应用架构在依赖云平台的 IaaS 和 PaaS 的服务,也要求金融系统最高级别的风险和安全标准,实现无缝衔接和安全体系的一致性,因此,对主流的云平台我们也做了相关服务和方案的审核,包括在利用了云平台的系统服务的基础上,由专业安全团队对我们完整的产品服务进行安全测试,并邀请第三方做专业黑客测试等,来确保在充分利用强大的云的特性的同时,满足当地银行监管在风险、安全和合规方面的要求。

InfoQ:目前金融壹账通的微服务架构支持了怎样的业务呢?

吕书峰:第一,数字化银行整车,或者说 digital bank in a box,可为新开数字银行提供全面的数字化运营平台。比如,金融壹账通旗下虚拟银行“平安壹账通银行”(简称:PAOB),由金融壹账通完成总体的设计和实施,7 个月内即完成技术上的投产准备。再比如位于菲律宾的某数字银行,由金融壹账通为其设计和实施的全行整体的系统平台,在 MVP 阶段投产的一款贷款产品,在 5 个月内即获得了超过过去两年的贷款余额。

第二,多种业务场景下的细分领域的 SaaS 化产品方案,比如在贷款核心、在线账户管理、数字钱包、开放银行等等情况下对接场景端,为银行在数字化贷款的业务开展、获客、多场景的支付能力,以及整体的开放银行 API 的生态建设方面提供支撑。

第三,SaaS 化的存款运营平台,助力中小银行提升存款经营能力,迅速提升存款余额。这个平台目前服务 50 多家中小银行,在一个完整的业务生态内,为其提供存款运营的服务。

InfoQ:金融行业架构转型微服务架构有什么需要注意的问题呢?有什么经验和大家分享?

吕书峰:微服务不是银弹,只是一种架构风格。从软件工程的基础原则上看微服务本身没有什么不同,但在软件领域专业细分层面来看,微服务相关的诸多生态工具和平台提供了一个系统生态。如果你在一个优良的系统生态中,那你可能更能充分利用到微服务的优势,否则可能适得其反,在银行核心系统这一复杂领域来说尤其如此。

我认为下面几点对一个成功的微服务架构实践而言是非常重要的:

  • 进行微服务转型需选择具备全栈能力的云原生平台
  • 业务价值导向是从设计到运营整个周期的重中之重,同时需要把核心系统从业务中心向数据中心下沉
  • 需要有很强的 DevSecOps 的能力,应对管理任务。
  • 业务领域专家必不可少,也就是有能力做终端场景设计的产品专家,能够为客户业务直接服务的专家

我认为微服务架构做得好不好,就看三个方面,一是开放 API 驱动内外部系统的对接,二是是否能更有效地提升自动化运营的程度,三是用户是否能自助式地应用你的服务完成场景需求。综合这三个方面,就决定了你的产品能为客户创造多少价值,也就能卖多少钱。

嘉宾介绍

吕书峰,金融壹账通核心系统产品及研发负责人,拥有超过 20 年的银行核心领域技术研发和产品管理经验,曾担任包括在香港的虚拟银行系统建设在内的多家数字银行项目的总架构师。

目录
相关文章
|
10天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
8天前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####
|
13天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
57 6
|
13天前
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
29 1
|
9天前
|
Dubbo Java 应用服务中间件
服务架构的演进:从单体到微服务的探索之旅
随着企业业务的不断拓展和复杂度的提升,对软件系统架构的要求也日益严苛。传统的架构模式在应对现代业务场景时逐渐暴露出诸多局限性,于是服务架构开启了持续演变之路。从单体架构的简易便捷,到分布式架构的模块化解耦,再到微服务架构的精细化管理,企业对技术的选择变得至关重要,尤其是 Spring Cloud 和 Dubbo 等微服务技术的对比和应用,直接影响着项目的成败。 本篇文章会从服务架构的演进开始分析,探索从单体项目到微服务项目的演变过程。然后也会对目前常见的微服务技术进行对比,找到目前市面上所常用的技术给大家进行讲解。
23 1
服务架构的演进:从单体到微服务的探索之旅
|
7天前
|
消息中间件 监控 安全
后端架构演进:从单体到微服务####
在数字化转型的浪潮中,企业应用的后端架构经历了从传统单体架构到现代微服务架构的深刻变革。本文探讨了这一演进过程的背景、驱动力、关键技术及面临的挑战,揭示了如何通过微服务化实现系统的高可用性、扩展性和敏捷开发,同时指出了转型过程中需克服的服务拆分、数据管理、通信机制等难题,为读者提供了一个全面理解后端架构演变路径的视角。 ####
24 8
|
8天前
|
Cloud Native 安全 API
云原生架构下的微服务治理策略与实践####
—透过云原生的棱镜,探索微服务架构下的挑战与应对之道 本文旨在探讨云原生环境下,微服务架构所面临的关键挑战及有效的治理策略。随着云计算技术的深入发展,越来越多的企业选择采用云原生架构来构建和部署其应用程序,以期获得更高的灵活性、可扩展性和效率。然而,微服务架构的复杂性也带来了服务发现、负载均衡、故障恢复等一系列治理难题。本文将深入分析这些问题,并提出一套基于云原生技术栈的微服务治理框架,包括服务网格的应用、API网关的集成、以及动态配置管理等关键方面,旨在为企业实现高效、稳定的微服务架构提供参考路径。 ####
31 5
|
10天前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
30 7
|
8天前
|
传感器 算法 物联网
智能停车解决方案之停车场室内导航系统(二):核心技术与系统架构构建
随着城市化进程的加速,停车难问题日益凸显。本文深入剖析智能停车系统的关键技术,包括停车场电子地图编辑绘制、物联网与传感器技术、大数据与云计算的应用、定位技术及车辆导航路径规划,为读者提供全面的技术解决方案。系统架构分为应用层、业务层、数据层和运行环境,涵盖停车场室内导航、车位占用检测、动态更新、精准导航和路径规划等方面。
44 4
|
9天前
|
Kubernetes 负载均衡 Cloud Native
云原生架构下的微服务治理策略
随着云原生技术的不断成熟,微服务架构已成为现代应用开发的主流选择。本文探讨了在云原生环境下实施微服务治理的策略和方法,重点分析了服务发现、负载均衡、故障恢复和配置管理等关键技术点,以及如何利用Kubernetes等容器编排工具来优化微服务的部署和管理。文章旨在为开发者提供一套实用的微服务治理框架,帮助其在复杂的云环境中构建高效、可靠的分布式系统。
26 5
下一篇
无影云桌面