解剖cloudfoundry(一)

      最近由于种种原因,目前公司的cloudfoundry需要我来接手,刚刚来公司的时候接触过半个月,并且部署过测试版本,写了一个helloword部署上去了,不过也只是了解下,并没有深入的了解,后期由于工作任务变动,也就没有继续研究下去,本人只有一点点的ruby基础,所以源代码看起来不是那么容易,但是从总体架构在掌握,我想会好很多。

     刚刚开始接触的CF(cloudfoundry)的时候,我连他是干嘛的都不知道,因为设计的面实在太广,又是云计算,那么云计算又是什么呢,估计一般刚刚听说都觉得悬,CF是paas平台的一款开源的复杂的分布式系统。其部署和维护的难度可想而知,当然,现在我也不是很熟悉,就在此记录我懂得的点点滴滴,和大家一起分享下。

    什么是云计算?

           我百度下,说了很多,但是看完以后真的还没大懂,仔细一琢磨,其实就是提供一种或者多种服务,是可伸缩的,按需的,就是说你想要多大资源就可以给你多大资源,但是要交钱的,比如你从小到大然后到老的所有照片,视频,当这些需要存储的东西多到你的五百G硬盘放不下的时候,你可以再买一个硬盘,要是再多呢?这里就出现了云的概念。你可以存在云里,就是这么简单,对于普通用户而言,目前国内云计算很多公司已经开始搞起来了,比如百度云,阿里云等等。但只是云计算的一小部分的作用,广义的云计算能做的事情要比这个多很多。

   什么是PAAS?

        paas就是平台即服务,上面的其实属于saas,软件及服务,这里着重讲平台即服务,一百的老百姓不需要知道这个paas是干嘛的,paas这个平台是干嘛的,说白了就是给程序员用的,有了paas平台我们程序员就有福了,有了他,你需要去装什么jdk,也不需要装什么tomcat,也不要装什么mysql,就是把你写好的代码直接部署上去就可以了,你的应用就可以跑起来了,也不需要在部署什么生产环境了,直接推上去就OK了。

      所以这个平台就是可以让程序员部署自己的应用,而不需要配置任何的环境也不需要担心资源的不够用,因为她都为你准备好了。

什么是cloudfoundry?

       他是目前比较主流的paas产品,开源免费可扩展性强,是目前业界比较好的paas产品,由于他是基于ruby代码完成,局部应用了rails框架,现在估计不用了,利用消息驱动的分布式集群架构,他有十几个组件组成,而且每个组件的复杂度都相当于一个项目,所以加起来就相对负责些,所以,我们要从他的架构出手来解剖cloudfoundry。

          仔细看了一下cloudfoundry的架构图其实也不算很难理解,十几个组件之间用nats消息总线,以及http协议完成了整个分布式



架构。

         目前每个组件都有在更新但是核心的东西并没有变,只是把很多设计不合理或者是不完善的地方加以修正。

上面这张图,蓝色代表是消息总线通信,黑色代表http协议通信。

     关于几个重要的组件的原理解析网上已经有很多,故不再此一一说明。

router负责路由,dea运行时环境,healthmanage负责健康监控,cloudcontroller作为整个paas平台的大脑,负责接收管理请求,也就是vmc命令行的操作等等。

     门卫:router其实就相当于门卫的角色,不管任何请求都要先通过他转发,不管是管理请求还是用户的请求,这里是cf的入口,router内部采用了nginx作为反向代理服务器,这样就解决了并发带来的性能问题。

     管家:cloudcontroller相对于管家,当管理请求过来的时候,也就是通过vmc过来的请求,经过router转发,到达cloudcontroller,cloudcontroller原来是rails框架写的,目前最新的额版本中有了一些改变,暂且不论,这里就可以完成对整个cf的一系列操作,比如监控健康状况,打包,绑定新的服务等等。

     仓库:dea就是一个巨大的仓库,这里装载了可执行应用的环境,以及对每个应用限制的隔离容器warden。这样能够让我们部署的应用能够在一个健康有序的状态下运行,记忆让用户在合理的范围内使用。



  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值