## 概念
云单元指在多机房部署架构下,对业务处理能力进行逻辑上的单元划分,使业务流量按照一定的规则分配到各单元中,同时尽量确保用户流量始终收敛在一个单元内完成的架构。
云单元架构下,每个单元的流量都按照特定的规则分配到不同的应用容器中,同时通过分库分表规则路由到不同的数据库分库。
单元化架构
##云单元架构核心
通过单元化部署使整体架构具备异地多数据中心并行计算能力,同时基于金融级分布式关系型数据库,通过多机房部署实现城市级故障下数据无损容灾切换。
通过云单元架构扩展能力,业务可以在不同地域的IDC中部署多个LDC(逻辑数据中心),且每个LDC单元都是“活“的,日常承载线上真实业务流量,客确保每个逻辑单元的稳定性和业务正确性。当故障发生时,可以进行LDC单元之间的快速切换,一个LDC单元对应的灾备LDC单元也是”活“的单元。
为确保异地机房能日常承载业务流量,实现跨机房的服务注册与发现能力,提供跨机房的服务调用路由逻辑,从入口流量到分布式服务、中间件和数据库,全链路消除了单点,使整体服务都具备了跨机房、跨地域的扩展能力。
##云单元架构设计目标
1)跨地域弹性部署
2)海量业务并行处理
3)全业务多地多活
4)一体化研发运维
##云单元架构的几个概念
分区单元:RegionZone,Rzone。部署按用户为度进行拆分的核心业务系统,确保核心业务用户分布在不同的单元内处理。
共享单元:CityZone,Czone。部署不可拆分的数据和服务,主要解决跨城通信延迟过高的问题,Czone中的数据或服务会被Rzone频繁访问,每个城市至少部署一个Czone单元。
全局单元:GlobalZone,Gzone。部署未按照用户维度进行拆分或非交易主链路的应用,提供不可拆分的数据和服务,主要是一些长尾应用或新用户注册系统。
##单元化改造主要思想
1)分而治之,针对不同类型的流量分而治之,给出相应的路由解决方案。
2)DID原则
3)十三条原则
在单元化改造过度阶段,部分原则不可遵循
单元化改造分阶段完成,优先确保部分流量路由正确
服务要跟着数据走,无法拆分的数据需迁出分库集群
异步化处理需要确保路由位不丢失
任何方案都要确保链路时延、数据时延在可接受范围内
Gzone不能直接访问Rzone的数据库或缓存
Gzone可以访问Czone的数据库、缓存或服务
Rzone只处理本单元数据
Rzone不能直接访问Gzone数据库或缓存
Rzone尽量少依赖Gzone服务
Rzone可以访问Czone的数据库、缓存及服务