单元化部署
把系统按业务维度切成多个自包含的单元,每个单元独立承担一部分流量与数据,故障被隔离在单元内。
又称单元化单元化架构Unitization
架构
是什么
单元化(Unitization / Cell-based Architecture)是把一个系统水平切成若干个结构相同、互相隔离的单元。每个单元都具备完整的应用与数据,能独立处理自己那部分流量。常见切分维度是客户号哈希、地区、机构。
为什么银行要用
- 故障隔离:一个单元挂了,只影响该单元服务的客户,不会全站不可用。
- 容量可水平扩展:加单元即加容量,不受单库单表上限约束。
- 就近部署:结合异地多活,把单元部署到不同机房,实现同城/异地容灾。
代价
单元化的难点从来不是「怎么切」,而是切完之后:
- 跨单元操作:客户 A 在单元 1、客户 B 在单元 2,两人转账就成了跨单元事务,需要额外的协调机制。
- 全局数据:配置、产品、机构这类共享数据要在单元间同步,一致性靠数据复制而非分布式事务。
- 流量路由:入口必须能根据切分键把请求准确路由到目标单元,路由错了就要做一次跳转。
因此在选切分维度时,核心原则是让绝大多数交易在单元内闭环。按客户号切分比按账户号切分更好,因为同一客户的多笔交易都落在同一单元。
提及本词的文章
- 单元化架构:银行核心的容灾与扩展底座单元化的本质是把故障和容量都限制在单元内,本文记录单元切分、路由与跨单元处理的实践取舍。
- 关于专注分布式核心系统与银行业务,探索 AI 在银行领域的落地。