专栏名称: InfoQ 架构头条
InfoQ运维领域垂直号。常规运维、亦或是崛起的DevOps,探讨如何IT交付实现价值。努力为技术人呈现有实践意义的内容~
今天看啥  ›  专栏  ›  InfoQ 架构头条

单元化架构在字节跳动的落地实践

InfoQ 架构头条  · 公众号  · 运维  · 2024-10-30 15:00
    

主要观点总结

本文介绍了单元化的核心理念和业界实施单元化的主要原因,并详细阐述了字节跳动单元化架构的落地实践,包括选择单元的维度、分区维度、流量调度和管理、数据同步、多单元数据管理等方面的内容。同时,也提到了在实际业务场景中遇到的问题和解决方案,以及跨地区RPC质量的保证和未来演进的思考。

关键观点总结

关键观点1: 单元化的核心理念

将业务按照某种维度划分成一个个单元,每个单元内部完成所有业务操作,能独立处理业务流程,拥有其中一部分数据,所有单元的数据组合起来是完整的数据。

关键观点2: 业界各企业实施单元化的主要原因

主要包括资源限制、合规要求、容灾考虑等。建设单元化还能有其他方面的收益,如业务体验提升、成本方面、隔离方面等。

关键观点3: 字节跳动单元化架构的落地实践

围绕客户端选路、接入层纠偏、计算层纠偏、存储访问层管控四个维度构建了单元化流量调度和管控能力。具体实施中涉及到分区维度的选择、流量的单元化调度、适配复杂的业务调度场景、多单元数据管理、数据同步一致性比对、保证数据多活的正确性等方面的内容。

关键观点4: 未来的演进思考

包括多单元研发成本和效率优化、极致的成本优化、更复杂的单元化架构演进、更完善的数据多活能力等。


文章预览

作者 | 谢志旺,字节跳动 - 业务架构团队   什么是单元化 单元化的核心理念是将业务按照某种维度划分成一个个单元,理想情况下每个单元内部都是完成所有业务操作的自包含集合,能独立处理业务流程,各个单元均有其中一部分数据,所有单元的数据组合起来是完整的数据(各企业实际落地过程中会结合实际业务和基建情况做一些折中)。流量按照某种分区维度(例如流量所属用户)Sharding 到不同的单元,调度上按照流量携带的分区信息进行调度,保证同一时刻该分区的数据写入都在同一个单元,简化版示意图如下: 为什么要做单元化 业界各企业演进到单元化一般主要都是出于下面几个原因: 资源限制 :单机房受物理资源上限限制,同城多机房受地区的能评和供电等限制,无法做到机房的无限扩展,随着业务规模的扩大,长期一定会面临多 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览