<td id="eh9mj"></td>
<source id="eh9mj"></source>
  • TYPESDK手游聚合SDK服務(wù)端設(shè)計(jì)思路與架構(gòu)之二:服務(wù)端設(shè)計(jì)原理

    2018-01-17 14:16 更新

    在前一篇文中,我們對(duì)一個(gè)聚合SDK服務(wù)端所需要實(shí)現(xiàn)的功能作了簡(jiǎn)單的分析。通過(guò)兩個(gè)主要場(chǎng)景的功能流程圖,我們可以看到,作為多款游戲要適配多個(gè)渠道的統(tǒng)一請(qǐng)求轉(zhuǎn)發(fā)中心,TYPESDK服務(wù)端主要需要實(shí)現(xiàn)的功能有以下幾個(gè)要點(diǎn):

    l  接收請(qǐng)求和返回響應(yīng),通常是HTTP的請(qǐng)求響應(yīng)。

    l  獲取配置信息。

    n  識(shí)別游戲,根據(jù)請(qǐng)求中的信息,獲取到具體游戲的相關(guān)配置。

    n  識(shí)別渠道,根據(jù)請(qǐng)求中的信息,獲取針對(duì)具體渠道的配置。

    n  根據(jù)請(qǐng)求中的信息,獲取特定游戲在渠道上的參數(shù)

    l  處理請(qǐng)求邏輯,根據(jù)請(qǐng)求種類不同(登錄,支付),處理流程不同。

     

    為了靈活方便地對(duì)不同渠道的通信邏輯做出配置和對(duì)應(yīng)。我們需要將特定的渠道邏輯和配置作一個(gè)簡(jiǎn)單的抽象,以接口-實(shí)現(xiàn)的方式將渠道邏輯封裝成為獨(dú)立模塊。以下可以做出一個(gè)簡(jiǎn)單的服務(wù)端流程圖。

     

     

    圖1

     

    這樣一來(lái),我們可以將整個(gè)TYPESDK服務(wù)端的架構(gòu)拆分為以下主要模塊/類:

    l  HTTP處理框架

    n  處理HTTP協(xié)議,接收請(qǐng)求,返回響應(yīng)。

    l  配置處理工具類

    n  從持久化位置讀取配置至內(nèi)存?zhèn)溆?/p>

    l  邏輯模塊管理器

    n  統(tǒng)一管理和加載各渠道的邏輯模塊

    l  各渠道邏輯模塊

    l  主邏輯流程控制器

     

    而其中牽涉到的實(shí)體類大致有如下:

    l  渠道配置類

    l  游戲配置類

    l  用戶信息類

    l  訂單信息類

    l  其他中間封裝類(請(qǐng)求req,返回resp等等),不再贅述

     

    根據(jù)以上分析,聚合SDK服務(wù)端的整體設(shè)計(jì)就完成了,無(wú)論使用何種語(yǔ)言技術(shù),都可以實(shí)現(xiàn)出一個(gè)簡(jiǎn)單的服務(wù)端。但是,這個(gè)服務(wù)端在具體的邏輯上還存在邏輯缺失,在實(shí)際應(yīng)用中還不能滿足我們的使用需求。以下的文章里,我們會(huì)簡(jiǎn)單列舉若干實(shí)際接入中遇到問(wèn)題以及設(shè)計(jì)上的解決方案。

    這個(gè)項(xiàng)目已開源,大家有興趣可以自己研究或者參照項(xiàng)目編寫自己的聚合SDK

    項(xiàng)目地址:https://code.csdn.net/typesdk_code

    項(xiàng)目地址:https://github.com/typesdk

    以上內(nèi)容是否對(duì)您有幫助:
    在線筆記
    App下載
    App下載

    掃描二維碼

    下載編程獅App

    公眾號(hào)
    微信公眾號(hào)

    編程獅公眾號(hào)