【Cloud Foundry】Could Foundry学习(二)——核心组件分析

在阅读的过程中有任何问题,欢迎一起交流

邮箱:1494713801@qq.com   

QQ:1494713801

 

 

Cloud Foundry核心组件架构图如下:

主要组件:

    Cloud Controller:实质上是VMC和STS交互的服务器端,它收到指令后发消息到各模快,管理整个云的运行,相当于Cloud Foundry的大脑。

    DEA:负责处理对所部署的App的访问请求,其实质是打包和访问Droplet。其中Droplet是通过Stager组件将提交的源代码及Cloud Foundry配置好的运行环境以及一些控制脚本等,全部打包在一起形成的tar文件。

    Routers:对所有进来的请求进行路由控制。Router组件是可扩展的,由多个 Router共同处理进来的请求。但如何对Router做负载均衡不属于Cloud Foundry的实现范围。

       进入Router的请求主要有两类。

  • 第一类是来自VMC Client或者STS的,由Cloud Foundry使用者发出,叫做管理请求。这类请求会被路由到Cloud Controller组件处理。
  • 第二类是对所部署的App的访问请求。这部分请求会被路由到App execution,即DEA组件中。

    Health Manager:负责从各个DEA获得运行信息,然后进行统计分析、报告、发出告警等。

    Services:负责提供云平台的各种应用服务,是一个独立的、插件式的模块,便于第三方方便地把自己的服务整合成Cloud Foundry服务。

辅助组件:

    UAA:负责用户模型的认证,使用组织和用户空间等概念,利于用户及权限管理。另外UAA DB用于存储用户相关信息。

    NATS:是一个基于事件驱动的、轻量级的消息系统,用于消息发布和订阅,联系着各个模块。

    Stager:解决了打包(Stage)过程需要操作大量文件且操作时间长的问题,所以它作为独立进程,使打包工作异步进行,不阻塞作为核心组件的Cloud Controller。

 

源码导读

可以在Github上找到CloudFoundry的全部代码:https://github.com/cloudfoundry,会看到几个不同的Repositories,它们分别是:

1、vcap: Cloud Foundry的Core,又或者称作Kernel;

2、vcap-service: Cloud Foundry的Service组件。Cloud Foundry的service是作为插件提供的,这出于它方便第三方开发service而设计的;

3、vmc: VMware Cloud CLI. 是一个Ruby应用,与Cloud Foundry的CLI交互。主要通过分析用户输入的CLI,向CloudFoundry发送Restful请求;

4、vcap-java: 如果你的app是用java开发,且需要与Cloud Foundry交互,例如取得当前serviceserver的ip地址等,你可能需要这个jar,里面对我们Java开发常用框架有所支持,它底层也是 对CloudFoundry的Restful请求的包装;

5、vcap-java-client: Cloud Foundry的Restful API的Java封装,与上面的项目不一样,它只是个简单的读取CloudFoundry信息,并放如JavaBean中;

6、vcap-test: Cloud Foundry的test cases;

7、vcap-test-assets: Cloud Foundry一些apps示例。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值