2. 银行系统架构基础

要做好故障隔离与降级设计,第一步不是写熔断规则,而是把银行系统的“地形图”画清楚:钱在哪里记账、请求从哪里进来、一次转账要穿过多少系统、哪些环节一旦卡住会直接引发客诉与资金风险。本章从架构形态、系统分层、调用链路和故障影响四个角度,建立后续所有隔离与降级策略的判断基础。

一、集中式与分布式:两种架构的故障特征

集中式架构以大型机或高性能小型机为核心,核心账务、存款、贷款等模块通常运行在同一套主机与同一数据库中,通过事务保证强一致。它的优势是账务一致性强、链路短、运维边界清晰;劣势是扩容依赖纵向升级,单点故障影响面大,一次主机或数据库异常可能直接导致全行核心业务停摆。

分布式架构把业务拆成多个微服务或子系统,数据库按业务域拆分,通过服务注册发现、消息队列、分布式事务框架协同。它提升了弹性与横向扩展能力,但也引入了新的故障面:网络抖动、注册中心异常、下游超时、消息积压、分布式事务悬挂等。集中式怕“主机倒”,分布式怕“链路断”,两者的隔离与降级思路因此不同。

关键判断:集中式架构的降级重点在于“保核心、砍外围”,分布式架构的降级重点在于“断链路、保局部、防雪崩”。

二、核心银行与渠道系统:分层与职责

银行系统通常按“渠道层—网关层—业务服务层—核心系统层—数据层”分层。渠道系统包括手机银行、网上银行、柜面、ATM、开放银行API等,负责交互与流量入口;网关层负责鉴权、限流、路由;业务服务层承载转账、支付、理财、信贷等组合逻辑;核心银行系统负责账户、余额、记账、利息等强一致账务处理;数据层包括核心数据库、缓存、消息队列与数据仓库。

层级典型系统故障影响降级优先级
渠道层手机银行、网银、柜面用户无法发起交易可降级非核心入口
网关层API网关、鉴权中心全量请求受阻必须高可用
业务服务层转账、支付、理财部分业务不可用按业务重要性分级
核心系统层存款、贷款、账务记账失败、资金风险最后降级,优先保
数据层核心库、缓存、MQ数据不一致、积压读写分离、限流保护

三、服务调用链路:一次转账的完整路径

以手机银行转账为例,请求从客户端发起,经API网关鉴权与限流,进入转账服务;转账服务先调用客户服务校验身份,再调用账户服务检查余额,随后调用核心系统记账,最后通过消息队列通知账务、风控与通知系统。链路中任一节点超时或异常,都可能让整笔交易失败或处于“未知状态”。

客户端 → API网关 → 转账服务
                ├─ 客户服务(身份校验)
                ├─ 账户服务(余额检查)
                ├─ 核心系统(记账)
                └─ 消息队列 → 风控 / 通知 / 对账

链路越长,故障传播越快。若核心系统响应变慢,转账服务线程池会被占满,进而拖垮网关,形成雪崩。因此,隔离与降级必须落在链路的每个关键节点上:超时控制、线程隔离、熔断、限流、异步化与兜底返回。

一次转账的服务调用链路与故障传播 手机银行 API网关 转账服务 核心系统 消息队列 客户服务 账户服务 风控 / 通知 故障传播:核心系统变慢 → 转账服务线程池占满 → 网关排队 → 渠道超时 → 客诉与资金未知 隔离手段:超时控制 · 线程隔离 · 熔断 · 限流 · 异步化 · 兜底返回

四、常见故障场景与业务影响

银行系统常见故障可分为基础设施故障、应用故障、数据故障与依赖故障四类。基础设施故障包括主机宕机、网络分区、机房断电;应用故障包括服务崩溃、内存泄漏、线程池耗尽;数据故障包括数据库主从延迟、缓存击穿、消息积压;依赖故障包括第三方支付超时、征信接口不可用、短信通道阻塞。

  • 核心系统不可用:记账失败,转账、存款、贷款全部受阻,属于最高级别故障,必须优先恢复或切换。
  • 网关鉴权异常:全量请求被拒绝,影响所有渠道,需快速降级为本地鉴权或白名单放行。
  • 消息队列积压:通知、对账延迟,短时间不影响交易,但持续积压会引发数据不一致。
  • 第三方接口超时:支付、征信、短信等外部依赖变慢,需熔断并返回兜底结果,避免拖垮主链路。
误区:很多团队把“降级”等同于“关闭功能”。真正的降级是分级、可逆、有兜底的:先限流,再熔断,再返回缓存或默认值,最后才关闭非核心功能。降级必须可监控、可回滚,否则会从故障变成事故。

五、复盘视角:从架构图到故障预案

复盘一次典型故障:某行手机银行转账大面积超时,根因是核心系统数据库主从切换导致写操作阻塞,转账服务未设置合理超时,线程池被占满,进而拖垮网关。改进措施包括:为核心调用设置独立线程池与超时阈值,增加熔断与快速失败,网关层对转账接口限流,渠道层提供“交易处理中”兜底页面,并建立核心系统健康探测与自动切换预案。

建议每季度做一次“链路走查”:从渠道入口到核心记账,逐段确认超时、重试、熔断、降级、监控与告警是否齐备。架构图不是文档,而是故障隔离与降级设计的作战地图。