【架构】单元化架构

参考1:阿里单元化白皮书

http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/160617/AntCloud_zh/1585895792638/%E8%9A%82%E8%9A%81%E5%8D%95%E5%85%83%E5%8C%96%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E7%99%BD%E7%9A%AE%E4%B9%A6.pdf

参考2:单元化架构在字节跳动的落地实践

https://www.infoq.cn/article/itqowhjhw23s5yhyyg5v

单元化架构的背景

同城双活架构被引入,通过在两个同城机房之间分配流量负载,可以充分利用计算资源处理服务请求,以更有效地利用资源。但是,由于存储技术的限制(即数据的双写同步问题),系统的整体性能往往受到存储性能的制约。尽管在分布式系统中,数据存储问题可以通过分库分表或分布式数据库来缓解,但随着数据量的增加,仍然会面临性能瓶颈。因此,单元化架构就应运而生。

单元化架构理念

单元化的核心理念是将业务按照某种维度划分成一个个单元,理想情况下每个单元内部都是完成所有业务操作的自包含集合,能独立处理业务流程,各个单元均有其中一部分数据,所有单元的数据组合起来是完整的数据(各企业实际落地过程中会结合实际业务和基建情况做一些折中)。流量按照某种分区维度(例如流量所属用户)Sharding 到不同的单元,调度上按照流量携带的分区信息进行调度,保证同一时刻该分区的数据写入都在同一个单元

单元化架构希望在分布式架构应用拆分和数据拆分的基础上解决以下问题
异地场景下的访问延时问题,实现异地多活。
单机房数据库连接限制问题,突破物理限制。
容量预估和扩容复杂问题,按单元预估和扩容。
发布变更灰度问题,支持灰度发布。

单元化架构的核心原则是单元化流量封闭,包含以下几点:
核心业务是可分片的。
核心业务的分片是均衡的,如支付宝以用户ID作为分片维度。
核心业务尽量自包含,调用尽量封闭。
整个系统要面向逻辑分区设计,而不是物理部署。

 

posted @ 2025-08-05 10:53  飞翔在天  阅读(41)  评论(0)    收藏  举报