《04-抖音业务网关的探索与实践-刘福良.pdf》由会员分享,可在线阅读,更多相关《04-抖音业务网关的探索与实践-刘福良.pdf(20页珍藏版)》请在三个皮匠报告上搜索。
1、抖业务关的探索和实践刘福良/抖服务架构-研发体验和效率团队背景和技术挑战 架构设计思路 技术实现和业务案例下步规划背景:抖为什么需要引关架构复杂度业务复杂化-架构复杂化-服务拆分 通逻辑升级困难通逻辑(如控)SDK编译进Go服务,升级动(拉所有业务)冗余的HTTP服务 部分GoHTTP没有任何逻辑,仅仅是对外暴漏HTTP协议很多GoHTTP服务是为了聚合多个下游接完成数据编排2020年之前的架构维护成本、链路延迟损耗技术挑战高并发稳定性要求极5000w+的qps峰值运维要求安全合规接成本要极低需要统治理切覆盖所有线上服务前后端解耦架构灵活性要求高 多端 iOS/Android/PC/TV/车机
2、 多版本 抖音/抖音火山版/抖音极速版/抖音PC版端到端协作效率前后端大型团队协作 网关作为前后端桥梁 研发流程串联背景和技术挑战 架构设计思路 技术实现和业务案例下步规划部署模式的选择中化独部署模式,业界主流架构,单点&隔离性差多接聚合特点,业务轻量级BFF层,按需接分布式sidecar部署模式,去中化,极可性可以作为统关接层,默认所有服务接既要还要分布式部署关与Go服务在个pod内,UDS跨进程通信数据链路:LB-HTTP Ingress-关-Go服务mesh_agent依次启动HTTP Ingress、关进程、Go服务进程中化部署关与Go服务独部署,跨络通信数据链路:LB-HTTP In
3、gress-关-HTTP Ingress-Go服务HTTP/RPC Egress负责服务发现和负载均衡背景和技术挑战 架构设计思路技术实现和业务案例下步规划关逻辑执流程Router HTTP协议层 Loader 通逻辑、扩展能 Protocol Conversion HTTP-Thrift RPC协议转换 BFF/DSL BFF接聚合、数据编排、裁剪 Render(json/pb)响应数据数据序列化通逻辑托管/Loader通逻辑与业务逻辑解耦,治理团队与业务团队解耦 通逻辑与服务框架(Go/Python/Java)解耦灵活的变更和热升级,效API治理成为可能案例:全场景身份注与透传BFF/Gr
4、aphQLBFF适配层 接聚合 数据编排 字段裁剪基于GraphQL的关BFF实现 Thrift IDL-GraphQL schema GraphQL引擎与Query表达式 GraphQL的版本管理BFF/GraphQL:个例GraphQL QueryAPI EndpointAPI WorkflowAPI设计优先 前置IDL设计节点,解耦各端研发流程 IDL规范与流程约束,提 API 变更效率和稳定性端到端的协作效率 串联研发活动各个节点,提供效流畅的研发作流 研发流程标准化和在线化,研发效率和质量提升业务案例:抖视频Feed场景场景 抖刷视频接 服务端领域数据 vs 客户端展示数据 P0级接,稳定性要求极通逻辑 安全控、容灾兜底、结果采样校验等BFF 服务端Thrift RPC(DO)-客户端PB HTTP(DTO)字段的重新编排与裁剪(展示逻辑)背景和技术挑战 架构设计思路技术实现和业务案例下步规划下步规划API治理平台API关向API治理平台演进,API信息中、API字段治理与流程卡点、隐私合规等 API研发平台 API Workflow向研发平台演进,打通API&RPC交付全命周期,开发环境、代码成、调试等QA加我微信,线下继续交流THANKS