中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 集成应用 > 科研应用 > 科研平台
Cloud Foundry:开放的云平台
http://www.edu.cn   2012-11-18 中国教育网络 作者:郭名芳 林予松 王宗敏

字体选择:【大】 【中】 【小】

  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就可以接收并返回正确的信息了。

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com