最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
CERNET第二十一届学术年会 11-24 李志民:互联网促进人类文明迈... 11-15
|
Cloud Foundry介绍 Cloud Foundry的架构设计 Cloud Foundry是一个基于开源开放式PaaS平台的服务,开发人员可以使用Java或者其他基于JVM的架构在该平台上迅速部署及运行Web应用程序。目前,CloudFoundry支持的应用程序框架包含Spring、Grails、Ruby on Rails、Node.js及Scala等,现在又增加了对.NET的支持;提供MySQL、MongoDB和Redis三种应用架构服务,以后还将逐步支持其他应用服务及第三方技术。Cloud Foundry的总体架构如图2所示。 由图2可知,Cloud Foundry由以下几个模块组成:
1. Router模块 Router模块在Cloud Foundry中是对所有进来的Request进行路由。进入Router的request主要有两类:首先是来自VMCClient或者SpringSource Tool Suite(STS),由CloudFoundry使用者发出的管理型指令。例如列出所有Apps的Vmcapps,提交一个Apps等。这类Request会被路由到AppLife Management组件中去。第二类是外界对所部署的Apps访问的Request,这部分Requests会被路由到Appexecution或者Deas组件中去。所 有进入Cloud Foundry系统的Requests都会经过Router模块。 Router 模块是对nginx 的一个简单封装,nginx以一个套接字文件(.sock文件)作为输入输出。外界httprequest进入CloudFoundry服务器,nginx接到Request通过sock与router.rb进行交互,router.rb根据传入的url、用户名、密码等进行逻辑判断,然后到Cloud Controller组件或者DEA组件中取数据,并通过与nginx连接的.sock文件返回。简而言之,router.rb是对nginx进行了逻辑封装。 2. DEA(Droplet ExecutionAgency)模块 Droplet是一个把提交的源代码,以及Cloud Foundry配套好的运行环境,再加上一些管理脚本,例如start/stop这些小脚本全部压缩好在一起的tar包。制作这个包并把其存储好的过程叫stagingapp。Cloud Controller模块发送start/ stop等基本的Apps管理请求给DEA,dea.rb接收这些请求,然后从NFS里找到合适的Droplet。DEA把找到的的Droplet解压,并即行里面的start脚本,这个App便运行起来。至此,这台服务器的某个端口已经在等待,只要Request从这个端口进来,此App就可以接收并返回正确的信息了。
|
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com