You may be familiar with 37 Signals, the guys who brought us Ruby on Rails, Campfire, Basecamp, among other products. Mark makes a wonderful case for using the right tool for the job in this “Nuts & Bolts” post, on how the Campfire internals work better with Erlang.
Campfire is a web based messaging/chatroom system that used a C-based polling system to determine if messages needed to be sent to connected browsers. The team replaced 240 separate C processes with 3 Erlang processes, and they explain how and why here.
on May 14th, 2009 at 2:34 pm
Note that when they say 3 erlang processes, they mean 3 erlang _nodes_.
on May 15th, 2009 at 4:12 pm
1 erlang node corresponds to 1 system process, right?
on May 23rd, 2009 at 11:26 pm
Exactly right, Charlie. In the case of Campfire we have 3 nodes running as three beam.smp processes on three separate KVM virtual machines.