如何用Spring来构建一个PaaS平台

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Spring实现的Web P aaS 控制节点介绍

王博

2014-­‐5-­‐11

从SSH说起 

Struts 

Hibernate 

OSCache 

EhCache 

C3P0 

Spring 

Web应用 

MVC框架 

ORM框架 

    I OC容器           + 

 业务集成框架 

从SSH说起 

JVM 

…… 

Memcached 

MySQL 

…… 

Struts 

Hibernate 

OSCache 

EhCache 

C3P0 

Spring  Tomcat 

Web应用 

Web容器 

从SSH说起 

JVM 

…… 

Memcached 

MySQL 

…… 

Struts 

Hibernate 

OSCache 

EhCache 

C3P0 

Spring  Tomcat 

Nginx  +  V arnish 

Web应用 

反向代理 

Web应用层 

数据层 

基于SSH应用的部署视图 

反向代理 

Web服务器 

缓存  数据库 

SSH  应用 

SSH  应用 

SSH  应用 

SSH  应用 

监控系统 

部署工具 

业务层面 

运维层面 

开发者自服务

门户 

PaaS管控节点的任务 

• 新部署的创建:开发者在自服务门户上发起新部署的创建请求,Master 

需相应请求,并协调Agent、应用路由等模块分配资源、完成部署并开通路由。  • 应用实时监控:对开发者部署的应用进行运行状态和资源消耗的实时监控。  • 系统动态伸缩:通过实时监控,确定系统动态伸缩的临近点,并通知Master  对系统进行相应的收缩或扩容。 

Web  P aaS中涉及的技术细节

• 关系数据库的使用 

• 通过MQ进行消息解耦 

• 事务 

• 缓存的使用 

• 对REST的支持 

• 安全 

• 其他(如定时任务等) 

实现PaaS管控节点的框架选择 

我们选择了Spring 

• 轻: 

Ø  非入侵性 

Ø 容器规模可控制在10M以内 

Ø 配置简单 

• 优雅: 

Ø 教课书般的OO使用方式 

Ø 灵活插拔,可测性好 

• 方便扩展: 

Ø 可快速集成各种常用框架 

Ø 可以有小渐大,增量引入新功能和模块 

 

Spring对PaaS技术细节的支持 

• 关系数据库的使用:Spring与MyBatis的集成 

• 通过MQ进行消息解耦:Spring与OpenMQ集成(消息体使用protocol  b uffers)  • 事务:  本地事务与分布式事务探讨 

• 缓存的使用:Spring与Redis的集成 

• 对REST的支持:Spring与Jersey的集成 

• 其他(如定时任务等):  定时任务在Spring中的应用 

• 安全:  待续 

开发环境简介 

技术细节分项介绍思路 

• 技术细节框图 

• Eclipse目录结构与Maven配置文件依赖  • POJO代码 

• Spring  配置文件 

Spring与Mybatis的集成 

Spring与Mybatis的集成 

Spring与Mybatis的集成 

Spring与Mybatis的集成 

使用Protocol  b uffers 

使用Protocol  b uffers 

Spring与OpenMQ的集成 

Spring与OpenMQ的集成 

Spring与OpenMQ的集成 

Spring与OpenMQ的集成 

Spring与OpenMQ的集成 

Spring中使用局部事务

内置的局部事务管理器 

• jdbc.datasource.DataSourceTransactionManager 

• orm.hibernate.HibernateTransactionManager 

• jms.connection.JmsTransactionManager 

• orm.jdo.JdoTransactionManager 

局部事务管理器的配置 



 



相关文档
最新文档