Erlang 和 Ruby 近况:37Signals 和 Erlectricity

  • Werner Schuster
  • 王丽娟

2009 年 5 月 19 日

话题:RubyErlang架构语言 & 开发

37Signals 最近移植了 Campfire 聊天系统的轮询服务,加入了使用 Erlang 的阵营:

上周五,我们在生产环境推出了基于 Erlang 的轮询服务。用三个虚拟实例运行三个 Erlang 进程。自上周五以来,这三个进程返回给 Campfire 用户的 HTTP 响应已超过 2.4 亿个,高峰时间平均每秒有 1200-1500 个请求。

Erlang 代码替代了一个基于 C 的系统:

可以肯定地说,Erlang 轮询非常的快。比起 C 轮询需要的 240 个进程,处理三个 Erlang 进程也更加容易。

InfoQ先前报道过 Erlang 在 Ruby 领域的应用情况。EngineYard 是这方面的领军者,它的一些工具和系统要么部分用 Erlang 构建,要么基于Erlang 写的消息系统

最近的 Erlang 会议Erlang Factory上,EngineYard 的 Ezra Zygmuntowicz 和 GitHub 的 Tom Preston-Wernersaw 进行了讨论(网上有一些讨论的视频)。

Tom Preston-WernerInfoQ 上有就 GitHub 和 Erlang 采访 Tom 的视频)谈论了Erlectricity,这是一个结合 Erlang 和 Ruby 的库(Tom 演讲的 PDF 格式幻灯片)。

Erlang 通过网络协议与其它语言和系统进行结合,Erlectricity 兼顾了 Erlang 和 Ruby,即将 Erlang 类型和 Ruby 类型进行互相映射。幻灯片还包括 BERT 和 BERT-RPC 的相关信息,对跨网络发送 Erlang 条目来说,BERT 和 BERT-RPC 似乎是更加高效的二进制编码方式。

Tom 最近还发布了基于 Erlang 的 git 守护程序 egitd的源码,GitHub 过去使用的就是 egitd(但最近换成了普通 git 守护程序的 hacked 版)。

查看英文原文:Erlang and Ruby Roundup: 37Signals, Erlectricity

RubyErlang架构语言 & 开发