1、Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.111 / 14M2 系统架构与开发规范Now 2015.6.18目录(一) 系统架构 3A. 接口协议 4B. 集群部署 4C. 对接与服务 5D. 短信与推送 5E. 功能和版本与自定义 5F. 热点处理 6G. 其他说明图例 7(二) 开发规范 10A. 开发环境说明 10B. 用户请求令牌 10C. 业务驱动 11D. 消息队列轮询 11E. 服务器部署 11F. 服务配置与用户自定义 .12(三) 开发规范 12A. 工程开发定义 12B. 业务版本号 12Ver 2.0.2 M2 系统架构与开发规范 B
2、y FCY at 2016.6.112 / 14C. 分段测试 13D. 服务发布 13Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.113 / 14(一) 系统架构S L B 负载均衡M 2 控制服务器 ( 标准集群 )实现业务代理 、 永久不重启 、 零更新消息队列 ( 缓存中心 )用户请求数据 、 业务处理结果数据H 2 控制服务器 ( 标准集群 )实现业务代理 、 少量特殊业务适当更新A P P 推送数据同步T 3 控制服务器 ( 标准集群 )实现业务代理 、 少量特殊业务适当更新第三方认证预约挂号 移动候诊报告查询 费用查询 体检查询充值 支付 对账
3、医院业务系统 第三方业务系统手机短信 用户注册 用户登录 患者绑定数据透传医院介绍. . . . .就诊指南院区导航 特色医技Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.114 / 14云盾安全监控D D o S 高防 I P云存储登录验证服务 挂号服务 支付服务推送服务 核心业务 报告单服务外部接入层外部接入层负载均衡 S L B 图片 C D N业务支撑层业务支撑层数据持久层数据持久层内部专网系统支撑层系统支撑层医院对接层医院对接层业务应用层业务应用层云管理与监控 医院管理数据同步对接业务升级发布负载均衡 S L B医院 D M Z医院 D M Z单向访
4、问医院防火墙单向访问医院防火墙对接业务对接监控数据同步云服务器 E C S云数据库 R D S医院接入医院接入A. 接口协议a) 通信方式HTTP/HTTPS + POSTb) 参数方式固定参数:jsonData参数内容:任意 JSON 数据包B. 集群部署a) 数据中心演变路线当前 Mysql+Redis中期 Mysql+Redis+Qpid+Cassandra后期 Cassandrab) 服务方式演变路线当前:Spring Mvc + RESTFul + HTTP(GETPOSTDELETE)Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.115 / 14中
5、期:Spring Mvc + RESTFul+ HTTP(POST)后期:待定c) 部署模式演变当前:SLB+手机服务+对接服务+缓存中期:SLB+接口代理服务+缓存+队列+业务后期:SLB+接口代理服务+业务+数据库(NoSQL)C. 对接与服务当前:Access-SendData中期:对接 2.0 SendData后期:对接 2.3 SendDataD. 短信与推送支持自定义与多通道HS-MED-Framework-SMSHS-MED-Framework-Push当前:多通道中期:自定义+多通道E. 功能和版本与自定义基于产品版本功能定义和用户需求的自定义开发模式,如果必要可以完全覆盖标准
6、业务流程。所有请求采用处理前(before) 、处理Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.116 / 14中(do) 、处理后( after)三个模式进行分割。F. 热点处理Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.117 / 14理论上的热点值为入口出,SLB 和控制器(M2 、H2 、T3) ,业务处理服务可以无限扩展并且无需注册。当热点集中在入口的场合,根据标准的服务器集群模式进行扩充;当热点集中制业务的场合,任意一个位置的服务开启并连接到消息队列,即可直接参与集群处理(开发机器也可以变成临时服务器) 。G.
7、 其他说明图例Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.118 / 14Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.119 / 14Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.1110 / 14(二) 开发规范A. 开发环境说明开发环境配置手册.docxB. 用户请求令牌TokenHelper.Java基于客户 ID 用户 ID 手机设备串号时间戳形成主标识主标识+业务识别 ID=用户请求令牌示例:bysCOKmDbQmIIw9a8b7_b6f88_8a0d5f7b1d_58904aV
8、er 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.1111 / 145b3f5073C. 业务驱动所有的服务部署均已响应业务为主要模,一个服务器占用多少内存、多少 CPU,处理并发多少均为配置模式。D. 消息队列轮询所有业务按照请求的业务标识和客户进入到待处理缓冲队列,服务端轮询(监听)有数据的场合进行业务处理。队列采用长连接模式处理。E. 服务器部署采用分散集群模式进行动态处理,具体参考如下通过上述配置决定当前服务器具体处理哪些业务,该服务器宕机不会影响到任何实际业务Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.1112 / 14
9、F. 服务配置与用户自定义基于客户产品业务功能服务配置表进行客户变动模块业务的服务提供者定义。客户实施人员根据实际需要定义配置文件进行拦截注册。(三) 开发规范A. 工程开发定义业务工程以 JAR 模式进行提供,所有 JAR 包开发完成后提交到Maven 私服下面。B. 业务版本号Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.1113 / 14业务工程拥有独立的业务名称,每次发布都创建新的版本号,版本号上面还留有客户自定义的版本号识别。业务驱动的时候会根据实际配置的版本号进行代码驱动。C. 分段测试业务工程以 JAR 模式进行提供,所有 JAR 包开发完成后提交到Maven 私服下面。测试人员根据 JAR 包版本进行对应测试,遇到问题直接指定版本号。D. 服务发布Ver 2.0.2 M2 系统架构与开发规范 By FCY at 2016.6.1114 / 14根据业务 JAR 进行增量发布或者更新发布,每次发布的时候利用 Maven 进行服务打包推送。