2. 核心银行系统架构

核心银行系统是银行所有存贷汇业务的账务权威源,它的架构选择直接决定了可靠性工程的工作方式。理解集中式与分布式、主机与开放平台、数据库与中间件的组合关系,是后续做容量规划、故障演练和变更管控的前提。本节从架构形态、平台选型、数据与中间件、交易链路四个角度展开,帮助建立端到端的系统视图。

一、核心原理:集中式与分布式是两种可靠性哲学

集中式架构把账务处理、数据存储和事务控制集中在一台或一组紧耦合的大型主机上,典型代表是 IBM z 系列主机配合 DB2 或 IMS。它的核心优势是单点强一致:所有交易在同一事务域内完成,跨账户转账天然原子,故障域清晰,纵向扩展能力强。代价是硬件与授权成本高、技术栈封闭、横向扩展困难。

分布式架构把业务按领域拆分为多个微服务或分片单元,数据按客户号、账号或机构分库分表,通过服务注册、分布式事务或最终一致性协议协同。它的优势是弹性扩展与容灾灵活,可以按业务量独立扩容,机房级故障可切换。代价是引入了网络分区、数据一致性、分布式事务和链路追踪等新的可靠性问题。

可靠性视角的关键差异:集中式关注“单机高可用与主备切换”,分布式关注“部分失败下的整体可用与数据最终一致”。两者的监控指标、演练方式和应急预案完全不同。

二、平台选型:主机与开放平台的边界

主机平台(Mainframe)通常承载最核心的存款、贷款、总账和清算,特点是高 IOPS、高可靠、强事务、成熟批处理。开放平台(x86、ARM、容器云)承载渠道、网关、产品工厂、部分互联网核心和外围系统。实际生产中,多数银行采用主机+开放平台混合架构:主机做账务权威,开放平台做渠道接入和业务编排。

混合架构下,可靠性工程要特别关注跨平台调用链。主机侧通常通过 CICS、MQ、IMS Connect 暴露服务,开放平台通过 ESB 或 API 网关调用。跨平台链路的超时、重试、幂等和补偿策略,是故障扩散的高发区。

核心银行混合架构与典型交易链路 渠道层 手机银行 / 柜面 / ATM 接入与编排 API网关 / ESB / 路由 开放平台 产品工厂 / 限额 主机平台 CICS / DB2 / 批处理 中间件与数据层 MQ 消息队列 分布式事务协调 分库分表中间件 DB2 / Oracle / 分布式数据库 典型转账交易链路 渠道发起 → 网关鉴权 → 产品校验 → 主机记账 → 消息通知 → 渠道回执 关键可靠性点:幂等、超时、重试、对账、补偿

三、数据库与中间件:可靠性的承重墙

核心银行的数据库选型通常分三类:主机侧 DB2 for z/OS、开放平台 Oracle/DB2、以及新兴的分布式数据库(如 OceanBase、TDSQL、GoldenDB)。选择时重点评估事务隔离级别、两阶段提交支持、主备切换 RTO/RPO、以及分片后的跨片事务能力。

中间件是连接应用与数据的枢纽,常见组合如下:

中间件类型 典型产品 可靠性关注点
消息队列 IBM MQ、Kafka、RocketMQ 消息不丢、不重、顺序性、积压告警
事务协调 Seata、TCC、Saga 悬挂、空回滚、幂等、补偿失败
数据访问 ShardingSphere、MyCat 分片路由、跨片查询、主从延迟
服务治理 Nacos、Consul、Eureka 注册中心脑裂、健康检查误判
缓存 Redis、Tair 缓存穿透、雪崩、与DB一致性

四、典型交易链路与故障场景

以一笔跨行转账为例,完整链路通常包括:渠道发起、网关鉴权、产品与限额校验、主机记账、消息通知、渠道回执。每个环节都有对应的可靠性设计。

  1. 渠道发起:客户端生成全局流水号,作为后续幂等键。
  2. 网关鉴权:校验令牌、签名、限流,失败快速返回。
  3. 产品校验:检查账户状态、余额、限额、黑名单。
  4. 主机记账:CICS 事务内完成借贷记账,返回交易码。
  5. 消息通知:通过 MQ 异步通知短信、风控、对账系统。
  6. 渠道回执:根据主机返回码组装响应,超时则进入查询补偿。
常见误区:把“主机记账成功”等同于“交易成功”。实际上,若消息通知或渠道回执失败,客户可能看到失败但账已记。必须通过对账和冲正机制兜底,不能只依赖单点返回码。

下面是一段典型的交易日志片段,用于说明链路追踪的关键字段:

2024-06-12 10:23:45.312 [gateway] traceId=TRX20240612001 
  channel=MOBILE userId=U88321 amount=5000.00 
  status=AUTH_PASS
2024-06-12 10:23:45.487 [core] traceId=TRX20240612001 
  hostTxn=CICS01 respCode=0000 acct=6222****1234
2024-06-12 10:23:45.612 [mq] traceId=TRX20240612001 
  topic=NOTIFY_SMS status=SENT
2024-06-12 10:23:45.701 [gateway] traceId=TRX20240612001 
  status=SUCCESS elapsed=389ms

五、复盘:架构选择如何影响可靠性工程

集中式架构下,可靠性工作重心是主机资源监控、CICS 区域健康、DB2 锁等待和批处理窗口。分布式架构下,重心转向服务依赖拓扑、链路超时、分布式事务补偿和分片均衡。混合架构则要求同时具备两套监控与应急体系,并重点治理跨平台链路的超时与重试。

无论哪种架构,核心银行可靠性工程的共同底线是:账务准确、交易可追溯、故障可隔离、恢复可验证。架构只是手段,最终都要落到这四个可度量的目标上。

掌握本节内容后,你在后续做容量评估、故障演练和变更评审时,就能快速判断一个改动影响的是主机侧、开放平台侧还是跨平台链路,从而选择正确的监控指标和应急预案。