以前的一个电商开放平台,里面的设计思路和理念拿出来和大家分享一下
该平台统一各大电商服务提供方的服务,进行编排后提供为开放的API为各个业务产品服务。
在设计平台架构时,主要考虑以下几个因素:
1、高并发和高吞吐量,我们采用分段式的架构,段与段之间采用同步非阻塞方式的通信方式,并且在http协议接入部分采用异步servlet方式。
2、整个平台的可用性,这其中包括以下几个方面
a、整个系统的健壮可靠(QoS),包括流量控制、超时处理、重试、排队
b、资源最大化利用率,基于业务区分,不同的业务复杂度可能不一样,需要的资源会不一样,比如可以设置某个服务的处理线程数量
c、可伸缩,保证每一段都是可以伸缩的,无状态,负载均衡
3、支持业务的动态部署更新,模块化
下面介绍一下平台的架构。
整个平台分为三段(接入、业务编排、接出),段与段之间采用分布式的部署方式,采用同步非阻塞NIO的通讯方式(Mina)。
接入段:
协议接入采用Jetty6 异步servlet,continuation
安全认证,
a、参数的MD5加密
b、应用方需要申请一个应用key
c、用户完成和第三方的绑定《用户名称和他对应的