TYPESDK手遊聚合SDK服務端設計思路與架構之二:服務端設計

  在前一篇文中,咱們對一個聚合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

項目地址:https://code.csdn.net/typesdk_code

項目地址:https://github.com/typesdk

相關文章
相關標籤/搜索