愛奇藝元件化設計在會員業務的應用和實踐
01 背景
在現代商業環境中,為了實現商業目標和利益的最大化,企業之間經常進行各種合作,例如供應鏈合作、銷售渠道合作、技術合作等等。在這種背景下,對外合作成為了會員業務的重要組成部分,隨著業務的發展,外部合作的需求越來越多,如何能高效完成與合作方的對接,成為了一個重要的課題。
02 合作方式介紹
對外合作主要是以介面方式對接,負責企業之間的資料交換和服務共享。合作方式分為以下2種:
1、合作方標準化:合作方制定介面的資料格式、傳輸協議、安全機制、狀態碼、錯誤處理等規範,愛奇藝按照合作方規範定製化開發,合作方沒有開發工作量。
2、愛奇藝標準化:愛奇藝制定介面的規範,合作方按照愛奇藝的規範定製化開發,愛奇藝沒有開發工作量。
我們最希望用第2種方式對接,沒有開發工作量,但是很多合作方堅持用自己的標準,導致每個合作對接的需求都要定製開發,這種實現方式嚴重阻礙了業務的發展,需要找到一個通用設計方案提升對接的效率。
03 方案調研
我們從實際業務場景出發,分析一下合作方介面定製化對接的流程:
1、將內部系統資料物件轉換為合作方約束的請求引數
2、將轉換後的引數,按照合作方指定的規則生成簽名
3、以合作方指定的方式完成介面呼叫
4、解析介面響應,獲取對應的響應碼及合作方側返回的業務資訊等
5、更新本地記錄
不同合作方的對接流程是一樣的,不同的是請求引數、簽名規則、介面呼叫方式、響應報文格式,所以可以抽象標準流程,把不同的處理邏輯封裝為元件,透過介面串聯元件流程,達到元件配置即可完成介面對接的目的。實現思想如下:
經過元件化拆分後,各個元件的職責具有一定的獨立性和複用性。開發同學只需要關注新元件的實現,不會影響其他元件的功能。隨著元件的不斷增加,最終合作方的對接都不需要開發,可以大幅提升介面對接的效率。
04 解決方案
整體流程
流程基本骨架和元件進行了拆分,元件由元件庫統一管理,元件執行流程可配置。在介面邏輯執行過程中,元件流程可以動態載入。執行完成後,統一更新業務資料。互動流程如下圖所示:
核心類圖
CallerContext:請求上下文,封裝流程執行的配置資訊、引數資訊
Caller:流程執行抽象介面
StandardCaller:Caller的標準實現,定義了目前對接方式的標準流程、負責排程下層各個元件的執行
IConvertParamComponent:引數轉換元件介面,負責將內部標準引數轉換為三方介面引數
ISignComponent:生成簽名元件介面,負責對轉換後引數進行簽名計算
IExecuteComponent:呼叫三方介面元件,負責以指定方式完整對三方介面的呼叫
IParseResComponent:解析響應元件,負責對三方介面響應進行解析,識別呼叫結果是否出現異常等等
05 成果及展望
成果
目前系統已預置一部分元件,理論上可以支撐近千種對接方式,90% 以上的對接無需開發。在提效方面,節省了開發和測試時間,整體成本降低 86% 。
展望
後續將元件化設計思想抽象為元件平臺,流程配置不侷限在對外合作業務場景,可以支援任意的業務流程編排,元件上下線支援熱插拔,無需服務安裝部署。透過平臺化的設計,可以支援更多的業務場景,助力公司的整體效能提升。
來自 “ 愛奇藝技術產品團隊 ”, 原文作者:會員技術團隊;原文連結:http://server.it168.com/a2023/0404/6797/000006797397.shtml,如有侵權,請聯絡管理員刪除。
相關文章
- 深度學習在小米電商業務的應用實踐深度學習
- 移動應用設計:應用內搜尋和業務轉化
- 裝飾者設計模式在業務中的實踐設計模式
- Vue 元件庫實踐和設計Vue元件
- TiDB 在摩拜單車線上資料業務的應用和實踐TiDB
- i 技術會筆記 | Druid在愛奇藝的實踐和技術演進筆記UI
- iOS 元件化/模組化架構設計實踐iOS元件化架構
- 行業實踐:RocketMQ 業務整合典型行業應用和實踐行業MQ
- 愛奇藝iOS深度實踐 | SiriKit詳解應用篇iOS
- AI在愛奇藝商業廣告中的應用和探索AI
- 深度學習在騰訊的平臺化和應用實踐(全)深度學習
- framebuffer應用程式設計實踐程式設計
- 愛奇藝內容中臺之Serverless應用與實踐Server
- 設計模式在美團外賣營銷業務中的實踐設計模式
- 資產會計(FI-AA) APC業務及其業務實踐
- 愛奇藝星鑽VIP會員怎麼升級? 愛奇藝成為星鑽VIP會員的技巧
- 幽默:程式設計師和測試員在解決業務問題的迥異應對 - QualityFrog程式設計師
- 中介者設計模式——業務實踐設計模式
- 鴻蒙Next應用介面設計:國際化最佳實踐鴻蒙
- 長文解讀:Flink在唯品會的實踐應用!
- 愛奇藝在服務網格方向的落地實踐
- 個性化海報在愛奇藝影片推薦場景中的實踐
- 愛奇藝個性化推薦排序實踐排序
- 實體連結在小布助手和OGraph的實踐應用
- 策略模式在實際業務中的應用模式
- 策略模式在業務中的實際應用模式
- Flink SQL 在米哈遊的平臺建設和應用實踐SQL
- 淺談限流元件的應用和設計原則元件
- 領域驅動設計在重構業務系統中的實踐
- [Vue CLI 3] 多頁應用實踐和原始碼設計Vue原始碼
- 愛奇藝網路協程編寫高併發應用實踐
- JuiceFS 在火山引擎邊緣計算的應用實踐UI
- Redis 在 vivo 推送平臺的應用與優化實踐Redis優化
- TiDB 在小米的應用實踐TiDB
- 策略模式在應用中的實踐模式
- 【雲棲大會】業務和安全的融合實踐詳解
- 劉博宇:Druid在滴滴應用實踐及平臺化建設UI
- Kubernetes 叢集和應用監控方案的設計與實踐