RESTful API后台系统架构设计(Java)

发布时间:2024-11-17

最近设计和实现了一个JAVA的RESTful API的后台业务系统架构,主要基于Java平台。设计要求是:

性能:平均响应时间(RESTful API)小于2s(平均负载的情况下),并发访问200个以上。

可用性:99%,87.6小时每年宕机时间

伸缩性:允许负载均衡集群水平扩展web server和application server。保留半年的历史数据。可以扩展。

安全性:具有基于RBAC的角色和权限控制;提供SSL链接;可以和LDAP集成;可以通过PCI/DSS安全认证标准。

可以看到系统对可用性和性能要求一般,但对安全性要求较高。整体设计架构:

之所以采用关系数据库和NoSQL混合模式,是因为系统有很多视频和图片文件,而且需要保存历史,所以这类数据存放在NoSQL数据库中。

技术选型

展现层:

Spring MVC - MVC Framework Java Server Pages (JSP) - View Generation ExtJS - Javascript UI Widget Framework Spring Security - Security Framework Jackson - JSON Generation / Parser Jersey - JAX-RS 2.0 Implementation

中间层:

Spring Beans - IoC Container Spring Transaction - Transaction Management

Dozer - Bean Transformation Framework Spring Security - Security Framework Quartz Scheduler - Scheduling

数据层:

Spring Data - Convenience API for Hibernate & MongoDB Hibernate - ORM Tool RDBMS - PostgreSQL NoSQL DB - MongoDB

公共:

Java Development Kit - Core Platform Spring Beans / IoC - IoC Container Spring AOP - AOP Framework Logback - Logging API SLF4J - Logging API Abstraction

其它:

Application Server - JBoss AS Distributed Cache - EHCache

系统部署图

上图可以看出,前端入口是负载均衡和反向代理(Apache HTTPD with mod_proxy and mod_balancer),中间是JBOSS应用服务器集群,后面是两台统计服务器(RServer),然后是关系数据库集群和NoSQL。

高可用方案:

Primary / Stand-By Load Balancers Active / Active Application Server Cluster Active / Active Analytics Server Cluster

Active / Passive RDBMS Cluster 系统上线运行以来基本满足设计要求。

RESTful API后台系统架构设计(Java).doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219