TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

  在前一篇文中,我们对一个聚合SDK服务端所需要实现的功能作了简单的分析。通过两个主要场景的功能流程图,我们可以看到,作为多款游戏要适配多个渠道的统一请求转发中心,TYPESDK服务端主要需要实现的功能有以下几个要点:

l  接收请求和返回响应,通常是HTTP的请求响应。

l  获取配置信息。

n  识别游戏,根据请求中的信息,获取到具体游戏的相关配置。

n  识别渠道,根据请求中的信息,获取针对具体渠道的配置。

n  根据请求中的信息,获取特定游戏在渠道上的参数

l  处理请求逻辑,根据请求种类不同(登录,支付),处理流程不同。

为了灵活方便地对不同渠道的通信逻辑做出配置和对应。我们需要将特定的渠道逻辑和配置作一个简单的抽象,以接口-实现的方式将渠道逻辑封装成为独立模块。以下可以做出一个简单的服务端流程图。

TYPESDK手游聚合SDK服务端设计思路与架构之二:服务端设计

图1

这样一来,我们可以将整个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

上一篇:谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现(更新优化思路)


下一篇:Linux下为什么目录的大小总是4096