Heroku黑客指南(六)

关于插件(Addons)

(五)管理插件

管理插件非常简单,heroku带了一个addons命令可用来执行管理。比如查看当前应用里使用的插件,可以使用heroku addons命令:

$ heroku addons
=== myproject Configured Add-ons
heroku-postgresql:dev HEROKU_POSTGRESQL_BROWN

如上示例应用使用了一个heroku-postgresql:dev插件。所有的插件以插件名开头,后面跟产品计划。在这个示例里,插件名是heroku-postgresql,产品计划是dev。

继续阅读

发表在 Common | 标签为 , | Heroku黑客指南(六)已关闭评论

Coremail新服务与MX记录

China.com重新推出了它的免费邮箱服务,后缀是@mail.china.com。查询其DNS设置,得知是coremail驱动的服务。如下是MX记录:

mail.china.com. 398 IN CNAME mail.china.com.cachecn.com.
mail.china.com.cachecn.com. 300 IN MX 10 mx-mail-china-com.icoremail.net.

如下是webmail域名的记录:

web.mail.china.com. 500 IN CNAME mail-china-com.icoremail.net.
mail-china-com.icoremail.net. 180 IN A 120.31.134.213
mail-china-com.icoremail.net. 180 IN A 120.31.134.214

继续阅读

发表在 Common | 标签为 , | Coremail新服务与MX记录已关闭评论

Heroku黑客指南(五)

关于插件(Addons)

(一)什么是插件

虽然heroku是一个按需收放的应用托管平台,但它的能耐不止如此。heroku有个数量一直在增长的第三方插件库,用户可以随时在应用里使用第三方插件。比如,你的应用需要访问PostgreSQL数据库,或者需要Redis组件,都没有问题。

插件是可插拔的资源,你可以按需来挂载或卸载它们。当前有数量众多的可用插件,包括从数据库,到监控软件,到web API等各种用途。

继续阅读

发表在 Common | 标签为 , | Heroku黑客指南(五)已关闭评论

Heroku黑客指南(四)

环境变量

(一)最佳实践

12 factor app最佳实践的第三条是配置。如下引自该文档:

应用的配置是指在部署的不同阶段(开发阶段、产品阶段等)变化的各种因素。它包括:

  • 资源句柄,例如访问数据库、memcache和其他后台服务的连接信息
  • 访问外部服务的信用信息,例如Amazon S3或Twitter API
  • 发布时的相关参数例如部署主机名

为了维护灵活的、简单的、可重用的代码,你应该严格执行代码和配置分离。这意味着避免在代码里对配置进行硬编码。heroku提供了一个简单的config命令,允许你在所有dyno里实时增加、编辑、删除环境变量。

继续阅读

发表在 Common | 标签为 , | Heroku黑客指南(四)已关闭评论

Linode与EC2的硬盘IO对比

Linode已经全系更换为SSD硬盘。EC2是云硬盘,数据存储走网络方式。对比了两者的IO速度,差别明显,在意料之中。

Linode的:

$ dd if=/dev/zero of=test.file bs=16k count=64k conv=fdatasync
65536+0 records in
65536+0 records out
1073741824 bytes (1.1 GB) copied, 2.14675 s, 500 MB/s

EC2的:

$ dd if=/dev/zero of=test.file bs=16k count=64k conv=fdatasync
65536+0 records in
65536+0 records out
1073741824 bytes (1.1 GB) copied, 21.8292 s, 49.2 MB/s

前者达到500MB/s,后者50MB/s左右,也就是说EC2硬盘速度是Linode的1/10.

继续阅读

发表在 Common | 标签为 , | 2条评论

CloudMysql测试情况

yygame有自己的CloudMysql服务,可以通过API和命令行工具一键创建Mysql实例组。每个实例组由位于不同物理机的2个实例组成,它们之间是master to master的复制关系。由keepalive管理的VIP对外提供服务,如果一端挂掉,VIP自动切换到另一端,提供了高可用保障。

测试情况:同时在2个实例各写入500万数据(先写100万,后写400万),由于是双向复制关系,因此共产生了1000万数据。Mysql实例是1GB内存的InnoDB引擎,存储介质是SSD。

继续阅读

发表在 Common | 标签为 , | 2条评论

Heroku黑客指南(三)

Dynos

(五)测试Profile

为了确保Procfile工作正常,最好先在本地测试它。在本地安装的Heroku Toolbelt 工具包,带了一个非常有用的命令行工具foreman,可以用来执行这个测试。

一旦你在项目根目录定义好了Procfile文件,执行如下命令来测试它:

$ foreman start
18:06:23 web.1 | started with pid 47219
18:06:23 worker.1 | started with pid 47220
18:06:23 scheduler.1 | started with pid 47221
18:06:23 web.1 | => Output from your web process.
18:06:23 worker.1 | => Output from your worker process.
18:06:23 scheduler.1 | => Output from your scheduler process.

假如上述工作不正常,那就是什么地方配置不当。因为foreman将进程的所有标准输出打印到终端,你可以比较容易的debug出问题所在。

在开发阶段,使用foreman在本地测试运行应用,是个省心的事。任何时候你都可以先定义好Procfile文件,然后打开foreman测试运行它们。相对于传统的敏捷开发解决方案,foreman无疑使用上更简单。

继续阅读

发表在 Common | 标签为 , | Heroku黑客指南(三)已关闭评论

iCloud邮箱一如既往的丢信

这是第三篇blog关于iCloud邮箱发送时丢信的问题了。前两篇分别见。再写下去我都要成为iCloud高级黑。作为Mac OSX的粉,我真心不希望这样。我期盼iCloud成为Gmail的代替者,然后它连基本的发信功能都做不到。

本封测试邮件的内容来自网易当天新闻。分别发往网易、雅虎、Mail.ru邮箱。很遗憾,三封信无一收到,全部丢了。没有退信、没有提示,用户毫不知情。水果的技术毫无改进啊,让它的用户情何以堪!

发表在 Common | 标签为 | 2条评论

Heroku黑客指南(二)

Dynos

(一)什么是dyno

dyno是Heroku特有的概念,它对应其他云平台的虚拟服务器。它本质是个容器,用户的应用都运行在这个容器里。dyno是Ubuntu 10.04的虚拟服务器实例,可以根据需求调整规模大小。每个dyno的配置如下(当前):

  • 512MB内存,1GB交换内存
  • 4核CPU(Xeon X5550 @ 2.67GHz)
  • 隔离的执行环境。你存储在dyno里的数据与其他dyno完全隔离。
  • chroot jail环境。这意味着用户完全限制在一个目录树下,不能访问系统文件。
  • 秒单位支付。对每个APP你可以拥有一个免费dyno。对第二个dyno,用了2秒就支付2秒费用,用了一个月就支付一个月费用。

(二)理解dyno

既然dyno就是Ubuntu虚拟服务器,这意味着只要你的应用能运行在Linux上,就能运行在dyno中。这也意味着你在Linux里能做的任何事都能在Heroku上做,比如运行bash命令等。

继续阅读

发表在 Common | 标签为 , | Heroku黑客指南(二)已关闭评论

桃花

往后的几个晚上,我做的是同一个梦。我梦见我故乡的桃花开了,我突然想起来,原来我已经很多年没回白驼山了。– 欧阳峰

我也很久没看到故乡的桃花了。小时候院子里有一棵桃树,它除了开花,还结果。每年农历2月间,迎着初春的细雨,绽开一树的艳丽。是的,我很少见到这么艳的东西,以至于在百度上想找一张神似的图片,都没有找到。它带来一院春色,仰望它神思迷离,如烟似梦。落英缤纷中,老头带着我在树下边踱边念:春眠不觉晓,处处闻啼鸟;夜来风雨声,花落知多少。它结的果实很多很甜。由于结果太多缘故,它的树干竟弯曲了,倒向屋檐的一角。因为担心破坏屋子,老头把它的枝干裁掉了一截。而从那以后,这棵桃树再未结果。往后再过几年,竟然枯死掉了。它是一棵很老的树,岁数比我还大。我不知是由于自然规律还是人为原因,总之它离我们而去了。而老头的腰背,也一如当初的它,日渐弯下。岁月总不留情面带走它该带走的东西。

继续阅读

发表在 Common | 标签为 , | 桃花已关闭评论