搜索

pdf文档 字节跳动云原生微服务架构原理与开源实践 CloudWeGo 技术白皮书 2024

24.07 MB 68 页 3 下载 28 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档详细介绍了字节跳动微服务架构的演进历程,特别是云原生微服务架构的特点与挑战。字节跳动的微服务架构具有规模大、全面容器化、以Go语言为主的特点,面临研发效率、运行效率和稳定性的主要挑战。文档重点介绍了CloudWeGo开源项目,包括其子项目Kitex、Hertz等,展示了高性能RPC框架的实践与开源探索。同时,文档讨论了多运行时架构的优势与局限性,并展望了未来服务治理的体系化发展。
AI总结
字节跳动的微服务架构具有以下特点: 1. **规模大、增长快**:在线微服务数量从2018年的7000-8000增长到2021年底的10万+,呈指数增长。 2. **全面容器化、PaaS化**:超过90%的在线微服务运行在容器中,通过PaaS平台统一调度,带来便利性但增加了调度复杂性。 3. **技术体系以Go为主**:Go语言使用占比超过55%,Rust作为新兴语言逐渐崛起。 4. **Service Mesh全面落地**:基于服务网格的流量治理能力成熟。 当前架构面临的主要挑战包括研发效率、运行效率和稳定性。字节跳动服务框架团队重点解决以下问题: - **快速迭代**:提升研发和上线效率。 - **多语言支持**:满足大规模业务需求。 - **运行时稳定性**:保障服务可靠性。 ### 多运行时架构的优缺点 - **优点**:提供安全、灵活、可控的变更能力,降低多语言SDK维护压力,业务接入更轻量。 - **缺点**:开发运维复杂,Sidecar与业务资源存在竞争,可能导致资源分配问题。 ### 优化目标与路径 1. **目标**:将业务通用能力标准化,提供云原生标准能力,包括RPC流量治理、中间件流量治理、配置、缓存等。 2. **路径**: - 规范化Sidecar与运行时定义。 - 将运维平台标准化,提升易用性。 ### CloudWeGo开源实践 CloudWeGo是字节跳动服务框架团队开源的微服务中间件集合,专注于微服务通信与治理,具有高性能、可扩展、高可靠的特点。其子项目包括: - **Kitex**:支持多协议的Go RPC框架,性能优于gRPC官方实现。 - **Hertz**:高性能HTTP框架,支持中间件扩展和链路追踪。 - **Volo**:基于Rust语言的RPC框架,提供更高效的性能。 ### 案例与落地 1. **Easy Note**:基于CloudWeGo构建的微服务案例,展示了HTTP与RPC服务的结合使用。 2. **Bookinfo**:基于CloudWeGo重写Istio经典demo,验证服务网格的流量治理能力。 3. **外部企业落地**:包括华兴证券、森马、贪玩游戏等,均在使用后实现了成本、性能和稳定性的显著提升。 ### 未来展望 - **服务治理标准化**:以域为视角,系统化推进应用级服务治理。 - **架构复杂度治理**:通过多运行时架构优化,降低架构复杂性。 - **性能优化**:持续提升微服务框架性能,优化资源利用率。 字节跳动通过持续的技术探索和实践,推动微服务架构向云原生方向演进,为业务发展提供了高效、稳定的技术支持。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 56 页请下载阅读 -
文档评分
请文明评论,理性发言.