如何用Spring来构建一个PaaS平台
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
局部事务管理器的配置