《【百度韓學明】百度App百億級互動系統技術實踐.pdf》由會員分享,可在線閱讀,更多相關《【百度韓學明】百度App百億級互動系統技術實踐.pdf(33頁珍藏版)》請在三個皮匠報告上搜索。
1、百度百度AppApp百億級互動系統技術實踐百億級互動系統技術實踐韓學明百度 資深工程師PART 1百度百度AppApp的互動系統介紹的互動系統介紹PART 3未來展望未來展望PART 2互動系統架構的演進互動系統架構的演進PART 4整體回顧整體回顧 +Q&AQ&A1.1.1 1 產品形態產品形態PARTPART 1 1 百度百度AppApp互動系統介紹互動系統介紹技術特點技術特點1.21.21.11.1 百度百度AppApp-產品形態產品形態搜索推薦彈幕列表點贊評論收藏分享熱評外露彈幕發表 百度App:百度App是用戶可以在手機上進行“搜索+資訊”的客戶端,DAU 2億+?;樱喊俣華pp用
2、戶可在資訊內容下進行關注、點贊、收藏、評論、彈幕等各種功能,這些用戶參與態度表達的功能集統稱互動功能。1.21.2 百度百度AppApp互動系統的技術難點互動系統的技術難點百度百度AppApp好看視頻好看視頻矩陣矩陣AppApp通用能力通用能力互動服務評論評論評價評價彈幕彈幕關注關注點贊點贊表態表態收藏收藏投票投票分享分享一一.互動為百度互動為百度AppApp、好看、好看APPAPP等各種矩陣類等各種矩陣類產品提供通用服務能力,支撐了百度移動生產品提供通用服務能力,支撐了百度移動生態互動生態。態互動生態。二二.建設互動系統的技術難點和挑戰建設互動系統的技術難點和挑戰產品多 支持百度內產品線超2
3、0+覆蓋“搜索+推薦”兩大核心應用場景流量高 峰值QPS 100萬+天級數據量級 50億+性能好 接口性能平響100ms,99分位200ms 互動數據分發,秒級延遲2.2.1 1 初始期:基礎互動功能設計和架構初始期:基礎互動功能設計和架構PARTPART 2 2 互動系統架構的演進互動系統架構的演進演進期:功能復雜化演進期:功能復雜化 +一級服務穩定性構建一級服務穩定性構建2.22.22.32.3 通用化:通用化演進通用化:通用化演進 +數據賦能數據賦能2.12.1 初始期:基礎互動功能設計和架構初始期:基礎互動功能設計和架構背景:百度背景:百度App App FEEDFEED文章文章/視頻
4、需要創建評論、關注、點贊等系統滿足用戶視頻需要創建評論、關注、點贊等系統滿足用戶交流訴求,需要交流訴求,需要快速快速上線。上線??蛻舳肆髁拷尤胪饩Wapi層內網服務層數據存儲客戶端/H5流量客戶端協議內網服務mysql、redis2.12.1 初始期:百度初始期:百度AppApp初步建立互動系統初步建立互動系統需求分析+技術選型需求分析:評論:構建評論發布+評論列表的“寫+讀”系統;點贊/關注/收藏:構建人人/物的關系鏈;技術選型:盡量在當前架構下進行功能開發擴展,關注迭代速度;當前架構2.12.1 初始期:互動系統架構初始期:互動系統架構-評論的建設評論的建設統一流量接入BFE推薦搜索評論內網
5、流量接入用戶文章評論DBREDIS外網API層內網服務層用戶在百度App參加評論發表、閱讀評論、點贊評論發表評論評論列表評論點贊評論服務評論發布評論審核列表排序評論計數存儲設計評論索引表評論索引表主題id評論id評論詳情表評論詳情表評論id內容評論主題信息評論主題信息主題idsource_info評論排序(單維度)2.12.1 初始期架構的問題暴露(一):功能方面初始期架構的問題暴露(一):功能方面評論發布入庫評論點贊點贊倒序評論列表問題一問題二點贊排序智能排序時間排序作者/發評人文章評論優化排序規則需要從點贊排序優化為智能排序+時間最新排序,原有DB排序不滿足訴求。閱讀評論評論排序瀏覽者個性
6、化排序小流量優化迭代排序需要根據瀏覽者的個人興趣做個性化排序。并且需要做小流量實驗滿足產品迭代優化評論列表2.12.1 初始期架構的問題暴露(二):性能方面初始期架構的問題暴露(二):性能方面評論列表排序結果用戶屬性渲染輸出問題一問題二評論列表依賴的下游服務較多,個別服務耗時較長,拖慢整體速度,用戶體驗不好關注點贊封禁管控廣告.推薦詳情頁性能要求高,端到端性能響應時間離線+在線集合方式:離線計算評論粗排得分,支持多維度+小流量;在線排序引入多維度多因子個性化模型,優化評論排序過程。排序流程依賴管理模塊評論發表評論閱讀評論點贊評論舉報行為流分布式隊列離線排序模塊計算存儲redis zset在線排
7、序模塊策略模型策略服務評論排序點贊倒序db排序/分頁2.22.2 問題一:解決評論排序功能的多樣化問題一:解決評論排序功能的多樣化2.22.2 問題二:性能優化問題二:性能優化問題評論列表需要優化性能,滿足詳情頁秒開,提升用戶體驗解決方案針對依賴進行管理,通過golang重構并行化獲取結果,通過對依賴進行分級劃分,建設弱依賴超時斷開&一鍵摘除能力。列表處理流程評論列表請求依賴渲染輸出2.22.2 問題二:性能優化問題二:性能優化2.22.2 問題三:穩定性保障問題三:穩定性保障問題 熱點流量下系統穩定性保障;服務部署的穩定性保障;解決方案 識別熱點,寫-削峰填谷,讀-熱點緩存命中;多地域多機房
8、部署+故障一鍵切流+混沌工程注入演練;穩定性處理push熱點2.22.2 問題三:穩定性保障問題三:穩定性保障2.22.2 問題三:升級一級服務問題三:升級一級服務“動作全覽動作全覽”全流程階段全流程階段抓手抓手動作動作程序設計程序設計 代碼模塊單一職責;服務依賴分級治理;熱點流量高吞吐;合理拆分微服務(在線、離線);服務熔斷、降級、補償;寫流量異步;讀流量緩存命中;程序開發程序開發 代碼質量;接口性能;CR、代碼容錯性、單測+P0 CASE;性能壓測;程序上線程序上線 灰度分級發布;回滾止損流程;預覽機-單機房單臺-單機房-多機房單臺-全機房,分級發布;發現問題可快速“倒序”止損;故障發現故
9、障發現 服務監控報警;用戶反饋;日志監控報警、電話報警;UFO用戶反饋直達;故障處理故障處理 快速止損;定位排查;容災降級(寫+讀)、變更快速回滾;trace排查定位;例行化演練例行化演練 混沌工程;P0 CASE;混沌工程常態化;線上流量引流運行P0 CASE;一級服務要求:一級服務要求:SLASLA 99.995%+99.995%+服務多地域部署N+1冗余故障容災降級服務治理依賴分級:一鍵摘除消息隊列:削峰填谷多級緩存:優化吞吐2.22.2 問題三:部署升級問題三:部署升級 +機制建設滿足一級服務要求機制建設滿足一級服務要求2.32.3 通用化:通用化演進通用化:通用化演進 +數據賦能數據
10、賦能2.32.3 通用化:服務通用化建設背景通用化:服務通用化建設背景背景百度App矩陣LITE版/大字版好看貼吧.訴求一接入互動能力降低重復建設成本提升迭代效率互動通用能力訴求二打通百度App評論/關注等互動數據訴求三在搜索+推薦,用戶互動行為后驗,優先級提權方案服務上架app id標識服務鑒權數據隔離改造服務改造接口注冊上架應用方接入個性化配置沙盒測試接入鑒權上線服務維護管理2.32.3 通用化:互動通用化服務架構演進思路通用化:互動通用化服務架構演進思路需求梳理現有功能通用功能個性化通用能力沉淀清晰業務邊界接入業務獨立實現架構改造在線功能抽象存儲隔離升級離線統計能力輸出服務上架通用功能地
11、圖個性化配置分發應用接入2.32.3 通用化:互動通用化服務架構通用化:互動通用化服務架構2.32.3 通用化:互動數據賦能建設通用化:互動數據賦能建設互動數據應用:用戶分層互動數據應用:用戶分層互動數據賦能架構互動數據賦能架構用戶分群分層分群分群分群數據源內部數據外部數據互動運營中臺用戶瀏覽存儲層離線存儲在線存儲AFSUDWMYSQLDORIS執行數據理解模型建立數據訓練效果評估模型層flinkspark資源熱度評論熱度用戶分層應用層熱度標簽熱點事件用戶分層.PARTPART 3 3 未來展望未來展望 3.13.1 未來規劃未來規劃 在用戶、作者、事件三個維度持續挖在用戶、作者、事件三個維度
12、持續挖掘數據價值,賦能業務產品掘數據價值,賦能業務產品 創新:通過創新:通過“文心一言文心一言”賦能產品架構賦能產品架構用戶數據文章數據行為數據數據賦能計算用戶維度作者維度事件維度數據賦能應用PARTPART 4 4 整體回顧整體回顧 +Q&AQ&A整體回顧整體回顧1 1 互動系統介紹互動系統介紹2 2 互動系統架構演進互動系統架構演進3 3 未來展望未來展望百度百度AppApp互動,產品形態互動,產品形態&技術特點技術特點初始期初始期-設計初衷:快速迭代設計初衷:快速迭代初始期初始期-面臨問題:功能迭代面臨問題:功能迭代+性能性能+穩定性穩定性演進期演進期-問題解決:離線排序問題解決:離線排序+并發改造并發改造+穩定性加固穩定性加固+一級服務一級服務通用化通用化-思路:通用化改造思路:通用化改造+數據賦能數據賦能持續數據賦能持續數據賦能+文心一言賦能文心一言賦能個人聯系方式個人聯系方式 個人微信:技術溝通個人微信:技術溝通+簡歷投遞簡歷投遞謝謝 謝謝 觀觀 看看thanks