六边形架构在银行核心系统的落地
用端口与适配器把核心业务从数据库、渠道和三方系统里解放出来,让银行核心真正可测、可替换、可演进。
银行核心最痛的不是业务复杂,而是业务逻辑和周边技术死死绑在一起:换连接池要改核心,接新渠道要动账务,单测要起一整套中间件。六边形架构(Ports & Adapters)给出干净解法。
核心、端口与适配器
- 领域核心:纯业务规则,不依赖任何框架、数据库或 HTTP 客户端。
- 端口:核心暴露(入站)和需要(出站)的接口,用 Java 接口表达意图。
- 适配器:把端口接到具体技术——REST 控制器是入站适配器,JDBC 仓储是出站适配器。
判断架构是否干净的一条硬标准:删掉数据库、MQ、Web 框架,核心业务代码还能原封不动地跑并被测。
在银行核心里怎么切
核心账务、计息、限额放在中心;大小额网关、CBS 接口、短信、风控回调全做成外围适配器。监管规则变了只动核心,接新清算通道只加一个适配器。
| 层次 | 内容 | 依赖框架 |
|---|---|---|
| 领域核心 | 账务、计息、限额 | 否 |
| 应用层 | 用例编排 | 否 |
| 适配层 | REST/JDBC/MQ | 是 |
收益与代价
收益是可单测、可独立部署、渠道可替换;代价是初期抽象成本与团队纪律。在银行这种长生命周期系统里,核心被技术债锁死的代价远高于前期投入。
架构不是墙上的图,而是写在依赖箭头里的纪律。六边形的价值,是让「技术变了业务不动」成为默认结果。