# doc **Repository Path**: dazi005/doc ## Basic Information - **Project Name**: doc - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 1 - **Created**: 2018-05-06 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 第二版本规划(2.0版本)calvin ##### 1、描述 > ​ 在第一版已知业务的前提下,为了满足高并发、高可用、可扩展性进行第二版本规划。新版采用SOA架构体系,进行不同领域服务化部署。只是进行简单的领域划分,为了描述系统的一个总体规划,并不具备系统技术性的设计。这里不包括详细的技术架构方案。 | 统一语言 | 描述 | | -------- | -------------------------------------------- | | 前端 | 指Web、IOS、Android | | 后端 | 前端的服务提供方 | | Proxy | 前端调用后端中间的代理路由层、进行请求透传。 | | 1.0版本 | 2018-08-01已上线的版本 | ##### 2、领域划分 * 会员领域(Member) > 会员管理、合法性验证等 * 帐户领域(Account) > 资产管理规则、用户资产、充值流水、充值、提现 * 订单领域(Order) > 订单管理、B2B订单撮合、流程处理、B2B订单、B2C订单等 * 钱包领域(Wallet) > 钱包监听、调用帐户充值 * 营销领域(Promotion) > 结算规则(分红、挖矿)、用户规则、送币、糖果、活动等。 * 基础领域(Common) > WebSokcet、基础统计数据、消息(Mail,message)、帮助中心、内容管理、公告、基础资料等 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0810/175129_0fcddf69_117284.jpeg "依赖边界.jpg") ##### 3、总体设计 ![输入图片说明](https://images.gitee.com/uploads/images/2018/0810/175148_ebff76b9_117284.jpeg "系统架构总图.jpg") * UI层 > 展示层:用户交互层,数据输入的唯一入口。与数据接收后进行展示。 * PROXY > 代理层: 接收前端的HTTP请求,并对请求进行路由透传到后端的服务层。 * Service > 服务层:后端的业务逻辑处理,各服务层之间使用RPC进行通讯。 * Stroe > 数据层:数据最终落地存储。Redis做为服务层的缓存处理。 1.**依赖边界** ![输入图片说明](https://images.gitee.com/uploads/images/2018/0810/175204_96a08c86_117284.jpeg "依赖交互图.jpg") > 通过简单描述系统之间的依赖关系。注意区分直接依赖与间接依赖的一个关系属性。 2.**交互模式** ![输入图片说明](https://images.gitee.com/uploads/images/2018/0810/193006_1624c733_117284.jpeg "交互模式.jpg") > ​ 采用统一的交互方式,前端输入JSON数据格式,后端返回JSON数据格式。采用前后端分离的结构进行处理。前端通过HTTP访问Proxy代理层进行转发到后台的服务层。WEB通过HTTP调用Proxy后,Proxy对通道进行保持异步调用Service层的处理。Service层处理完后进行Proxy层的回调处理。 ##### 4、技术选型 * 采用前后端分离; * 后端采用Dubbo进行RPC通讯; * MYSQL数据库存储业务性数据; * Mongo数据库存储日志性数据; * Redis缓存业务性数据; * Kafka消息中件间; * Disconf配置管理中心。 * XX-JOB分布式调度中心。 ##### 5、领域架构 > 链接到各子文档 * PROXY架构设计 * 会员领域架构设计 * 钱包领域架构设计 * 营销领域架构设计 * 帐户领域架构设计 * 订单领域架构设计 * 基础领域架构设计 * 前端架构设计 * APP架构设计 ##### 6、系统要求 1. 要求核心接口的响应时间在20MS以下。 2. 要求核心接口的TPS在3000以上(根据经验大概在线人数2万左右)。 3. 要求系统不停机发版。 4. 要求系统平滑升级。 ##### 7、版本规划 > 具体规划链接到产品版本规划。 * 2.0.0 实现前1.0版本的功能。并1.0版本的前提下有更高的TPS,和更高的处理能力。 ##### 8、灰度发布 无 ##### 9、容量规划 无