Apache Stratos探究:4.0.0 Cloud Controller Architecture

     Cloud Controller负责与IaaS通信,并且启动和关闭 VM和Docker容器,处于Apache Stratos框架的最底层。

     下图是 Cloud Controller的框架示意图。 

     

    由图可知,它由Cloud controller service、Cloud controller deployer、Axiom Xpath parser、Topology publisher、
IaaS implementation layer、jclouds几部分组成,下面分别进行介绍
Cloud controller service
     从Cloud Controller中获得服务的上层主要与它进行通信。 从代码角度来看,这里定义了一个叫做CloudControllerService的
接口,并且有一个实现类CloudControllerServiceImpl。
Cloud controller deployer
     是一个Axis2的部署者,负责部署和更新cloud-controller.xml文件。(Axis2是一个Web Services/SOAP/WSDL引擎,
什么是Web Services/SOAP/WSDL,可以看这篇转载的文章,原作者写的不错 http://blog.csdn.net/zhouhuakang/article/details/50614510
Axiom Xpath parser
     负责解析Cloud Controller中的全部的 *.xml格式的配置文件。
Topology publisher
     Apache Stratos采用比较中心的位置,比如Cloud Controller来保存topology configuration。topology configuration在Apache Stratos指的是,在云环境下,在各个服务集群的信息。
     将此信息仅仅保存在Cloud Controller中是不够高效的,因为在其他地方也要用到topology configuration,比如说Elastic Load Balancer(ELB),Artifact Distribution Coordinator(ADC)。因此,Cloud Controller会负责与其他组件同步该信息。下图解释了同步过程是如何发生的。 

Topology synchronization
1.Cloud Controller保持不断构建topology configuration,然后定期的将其发布到一个topic中。(topic由Message Broker创建,而Message Broker是嵌入到Cloud Controller中的)
2.任何订阅者(subscriber)需要topology configuration的,可以订阅相关的topic,之后将获得保持同步的topology configuration。
3.理想情况下,订阅者英国可以分辨出configuration之间的不同的不同之处,并且及时根据不同之处作出反应。
Building a topology 


    通过移除一个已经添加进去的topology或者更新一个现有的topology(更新topology的时候,不用重启服务器),可以动态改变topology configuration。
    采用生产者-消费者模式,当一个topology动态改变时,topic可获取到一个最新版版的该topology。由上图可知,作为生产者,Cloud Controller的Service Deployer会实时跟踪变化,并将新的topology configuration放入到一个共享的阻塞式的队列中,之后,作为消费者的Topology Builder会从队列中抓取到变化,并且添加或者更新topology configuration  : <APACHE-STRATOS-CC>/repository/conf/service-topology.conf
IaaS implementation layer
     故名思意,该层是IaaS的实现层。这里关键是有一个叫做Iaas的抽象类,任何IaaS想让Cloud Controller支持,则必须需要实现Iaas这个抽象类。
jcloud
     指的是jcloud的api。jclouds 是一个开源的Java类库,用来帮你开始云计算应用开发。
     关于Apache jcloud,可以看下面这篇转载的文章

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值