在前一篇文中,咱們對一個聚合SDK服務端所須要實現的功能做了簡單的分析。經過兩個主要場景的功能流程圖,咱們能夠看到,做爲多款遊戲要適配多個渠道的統一請求轉發中心,TYPESDK服務端主要須要實現的功能有如下幾個要點:git
l 接收請求和返回響應,一般是HTTP的請求響應。github
l 獲取配置信息。架構
n 識別遊戲,根據請求中的信息,獲取到具體遊戲的相關配置。框架
n 識別渠道,根據請求中的信息,獲取針對具體渠道的配置。工具
n 根據請求中的信息,獲取特定遊戲在渠道上的參數.net
l 處理請求邏輯,根據請求種類不一樣(登陸,支付),處理流程不一樣。設計
爲了靈活方便地對不一樣渠道的通訊邏輯作出配置和對應。咱們須要將特定的渠道邏輯和配置做一個簡單的抽象,以接口-實現的方式將渠道邏輯封裝成爲獨立模塊。如下能夠作出一個簡單的服務端流程圖。code
圖1blog
這樣一來,咱們能夠將整個TYPESDK服務端的架構拆分爲如下主要模塊/類:接口
l HTTP處理框架
n 處理HTTP協議,接收請求,返回響應。
l 配置處理工具類
n 從持久化位置讀取配置至內存備用
l 邏輯模塊管理器
n 統一管理和加載各渠道的邏輯模塊
l 各渠道邏輯模塊
l 主邏輯流程控制器
而其中牽涉到的實體類大體有以下:
l 渠道配置類
l 遊戲配置類
l 用戶信息類
l 訂單信息類
l 其餘中間封裝類(請求req,返回resp等等),再也不贅述
根據以上分析,聚合SDK服務端的總體設計就完成了,不管使用何種語言技術,均可以實現出一個簡單的服務端。可是,這個服務端在具體的邏輯上還存在邏輯缺失,在實際應用中還不能知足咱們的使用需求。如下的文章裏,咱們會簡單列舉若干實際接入中遇到問題以及設計上的解決方案。
這個項目已開源,你們有興趣能夠本身研究或者參照項目編寫本身的聚合SDK