《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