Iron Foundry和Cloud Foundry的vcap对比

时间:2022-08-18 21:53:42

前一阶段,在做Iron Foundry和Cloud Foundry的实验室工作,在成功完成Iron Foundry和Cloud Foundry的通信以后,特意去深入了解Iron Foundry和Cloud Foundry的源码区别。

于是在github官网将Cloud Foundry的vcap和Iron Foundry的vcap的源码做了一回对比。

由于对比程度比较浅层次,所以肯定会有疏漏的地方。但是从已经做到的程度来说,Iron Foundry只是在Cloud Foundry的基础上做了非常非常小的改动。

以下便是本人的对比结果:

1.Iron Foundry必然会在安装过程中添加一些关于asp.net的信息。于是在vcap / dev_setup / cookbooks / cloud_controller / templates / default / cloud_controller.yml.erb中有一些应用参数有变动;在vcap / dev_setup / cookbooks / cloud_controller / templates / default / runtime.yml.erb中添加了aspdotnet等runtime;在vcap / dev_setup / cookbooks / cloud_controller / templates / default / standalone.yml.erb中添加了clr20和clr40。

2.当然作为Iron Foundry在安装时会加入一些自己的service,比如说mssql和mssb(microsoft service bus),所以在在vcap / dev_setup / cookbooks / 目录下会有mssql和mssb文件。

3.执行安装的时候是运行在vcap / dev_setup / bin / vcap_dev_setup文件,而Iron Foundry的该文件也作了少量的改动。改动部分比较清晰,具体详见以下代码:

CF_BASE_URL='https://github.com/cloudfoundry'

IF_BASE_URL='https://github.com/IronFoundry'

declare -a CLOUDFOUNDRY_REPOS=( dea router cloud_controller )

declare -a IRONFOUNDRY_REPOS=( vcap stager )

由此可以看出,在安装的时候,一些组件的下载库是不同的,是dea router cloud_controller从github中Cloud Foundry目录下下的,而vcap stager 是从github中Iron Foundry的目录下下的。

4.在stager这一组件模块,Iron Foundry/stager的Gemfile会稍有区别,关于vcap_stager的Gem包,Cloud Foundry为gem'vcap_staging','~>0.1.63',:git=>'https://github.com/cloudfoundry/vcap-staging.git',:ref=>'bea99970',而Iron Foundry为gem'vcap_staging','~> 0.1.63',:git=>'https://github.com/IronFoundry/vcap-staging.git',:branch=>'aspdotnet'。具体在CF和IF运行的时候,会有什么区别,暂时还没有研究。然后Gemfile.lock也有相应的改动。


总而言之,Iron Foundry和Cloud Foundry的vcap相差甚少。
而Iron Foundry的主要特点是在另外一个节点安装支持.net的DEA service,从而来连接Cloud_Controller。