预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

RESTfulAPI后台系统架构设计(Java) 最近设计和实现了一个JAVA的RESTfulAPI的后台业务系统架构,主要基于Java平台。设计要求是: 性能:平均响应时间(RESTfulAPI)小于2s(平均负载的情况下),并发访问200个以上。 可用性:99%,87.6小时每年宕机时间 伸缩性:允许负载均衡集群水平扩展webserver和applicationserver。保留半年的历史数据。可以扩展。 安全性:具有基于RBAC的角色和权限控制;提供SSL链接;可以和LDAP集成;可以通过PCI/DSS安全认证标准。 可以看到系统对可用性和性能要求一般,但对安全性要求较高。整体设计架构: 之所以采用关系数据库和NoSQL混合模式,是因为系统有很多视频和图片文件,而且需要保存历史,所以这类数据存放在NoSQL数据库中。 技术选型 展现层: SpringMVC-MVCFramework JavaServerPages(JSP)-ViewGeneration ExtJS-JavascriptUIWidgetFramework SpringSecurity-SecurityFramework Jackson-JSONGeneration/Parser Jersey-JAX-RS2.0Implementation 中间层: SpringBeans-IoCContainer SpringTransaction-TransactionManagement Dozer-BeanTransformationFramework SpringSecurity-SecurityFramework QuartzScheduler-Scheduling 数据层: SpringData-ConvenienceAPIforHibernate&MongoDB Hibernate-ORMTool RDBMS-PostgreSQL NoSQLDB-MongoDB 公共: JavaDevelopmentKit-CorePlatform SpringBeans/IoC-IoCContainer SpringAOP-AOPFramework Logback-LoggingAPI SLF4J-LoggingAPIAbstraction 其它: ApplicationServer-JBossAS DistributedCache-EHCache 系统部署图 上图可以看出,前端入口是负载均衡和反向代理(ApacheHTTPDwithmod_proxyandmod_balancer),中间是JBOSS应用服务器集群,后面是两台统计服务器(RServer),然后是关系数据库集群和NoSQL。 高可用方案: Primary/Stand-ByLoadBalancers Active/ActiveApplicationServerCluster Active/ActiveAnalyticsServerCluster Active/PassiveRDBMSCluster 系统上线运行以来基本满足设计要求。