CloudFoundrybuildpack实务解析

作者: 云计算机网 分类: 云存储 发布时间: 2016-03-04 23:46

与service broker相比,buildpack的实务操作就容易多了,单就通用概念来说,其实用不着单写一篇,但是处女座强迫症发作,所以还是写一下,使CF这个框架对外扩展的两个维度(代码使用的服务和代码运行的环境)是完整的。这篇主要会写buildpack的基本实现逻辑,然后举三个需要修改buildpack的需求,进行实际操作描述。

基本原理

CF运行应用的基本过程是将用户发布的应用程序包解压开,然后将自己的所有buildpack拿来,按照指定顺序与程序包进行匹配,直到找到第一个能够运行这些代码的buildpack,然后将buildpack也解开,与这些应用代码打成一个包(即droplet),在按照指定的运行环境参数生成容器,将droplet扔进去,按照buildpack指定的启动命令,启动应用。在上面的过程中,buildpack实现了三步功能:
第一步,detect:检查当前应用程序包是否能够用本buildpack支持运行,比如,java buildpack发现WEB-INF路径就认为自己能够运行它。
第二步,compile:将应用程序包与buildpack包水乳交融一下,比如将java程序包放到tomcat的应用目录下,然后替换某些参数,比如将当前dea里的随机端口赋予这个tomcat实例。
第三部,release:将droplet启动,比如运行tomcat的startup.sh。
任何一个buildpack都有一个bin路径,放着三个指定名字(detect、compile、release)的脚本(任何dea的os能执行的脚本都可以),然后具体的实现逻辑就从这里触发了。下面将以java buildpack为例,通过三个实际需求,介绍buildpack的开发和使用。

自定义buildpack

更新java应用的默认时区和编码

需求

国际软件都使用格林尼治时间作为系统中的默认时间,所以咱们写出的日志或者使用程序代码获取的系统时间(其实都是dea的系统时间)都是+0000的,而我们需要+0800的,当然,可以从代码里自行处理。但是我的用户们不爽,他们说我这程序还要本地测视呢,太乱了,你得给我处理。
tomcat里的默认编码应该都是utf8,可是,在某些场景下,比如tomcat上运行的rest服务,其报文中包含中文,是无法被正常接收的。CF的java buildpack里包含的就是默认的tomcat,所以为了解决这个问题,可以使用下面的命令进行设置,但是毕竟不大爽,还是直接改掉buildpack比较友好。

cf set-env appname CATALINA_OPTS "$CATALINA_OPTS -Dfile.encoding=UTF-8"

解决方案

java buildpack是ruby写的,所以如果不是原则性的上的变动,大可以通过将压缩包打开,修改ruby代码,然后再压缩上的办法。不过,winrar似乎有些莫名其妙的问题,如果是解压开再压缩会有问题,但是如果直接将修改后的同名文件拖动到winrar的窗口中进行替换,就可以工作。为了达到时区和编码这两个需求,需要做的文件修改如下:

  • 【电脑店资讯】在2009年,思科投资在达拉斯以北地区建设一个1.8亿美元的数据中心项目。

    很长时间以来,思科都没有公布关于数据中心设施的细节。

    昨天,思科在德克萨斯州公布了最新的设计方案。

    思科新的数据中心代号为DC2,位于德克萨斯州理查森,距离DC1北部15公里处。

    这两个数据中心可以看作是“active-active”,彼此只要有一个出现停电或故障,便可以实现实时切换工作。

    当其中一个数据中心有数据更新的时候,便会同步到另一个设备中。

    目前思科已经租出10000平方英尺的主机托管空间,以测试其切换与同步工作。

    目前DC2仍在建设之中,预计明年正式上线。

    新的数据中心将采用思科的统一系统,该系统将支持其他数据中心的整合,同时还可促进思科内部的云计算系统。

    散热系统向下将空气吹入冷却通道,这项设计能够节省大量散热成本。

    DC2将成为思科第一个用空气冷却的数据中心。

    每年能够有百分之五十的时间实现无制冷机组运转,主要是晚上德克萨斯州温度较低,能够进行空气制冷。

    该公司还将服务器入口温度从65提升至78(华氏),能够节省大量散热成本。

    据了解,思科将重新评估架空电缆的优点,并可能会修改未来的设计,包括让升高的地板来容纳一些布线。

    冷空气经过上面的风道进入服务器,通过机箱后部被动烟囱系统进入上方的通道中。

    思科DC2建成后的样子

    供电方面,DC2需要两个10兆瓦电力支持,并且需要增加同样容量的供电能力从而实现冗余,二期阶段将实现20兆瓦的总容量。

    思科预计每个机架平均负载为8千瓦。

    这个新数据中心的最大特点就是屋顶设计了太阳能电池板,将产生高达100千瓦的供电能力,能够满足数据中心办公区域的用电需求。

    赛迪观点:

    与其他数据中心相比,思科DC2融合了太阳能发电和空气制冷两套节能方案,这种设计能够节省大量能源,从而降低后期运营成本。

    昼夜两套散热方案也颇具创新精神,夜间平均温度较低,使用室外空气直接散热,白天时候制冷机组才开始工作,使得数据中心节能化更加彻底。

    (责任编辑:admin)

  • 相关推荐:

  • 太阳能加空气冷却思科
  • 自然风散热数据中心热轮
  • 双线双ip与bgp双线的区别
  • 解析“星云”平台,无线
  • 域名解析是什么意思
  • 域名无法解析怎么办
  • dns域名解析过程
  • 域名解析记录值填什么
  • 域名如何泛解析
  • CloudFoundryservicebroker开发
  • 网站内容禁止违规转载,转载授权联系中国云计算网