facebook chat serves 1 billion msgs a day .. here are some eng notes abt how they did it

by TTB on June 17, 2009

Facebook Chat usage has increased steadily since its launch last year, and this week we reached 1 billion messages sent per day.

Key component of facebook’s chat scalability is their channel server. They choose to use erlang a language that is fast getting the much needed attention for building real time infrastructure.

The channel servers are the most intricate piece of the backend. They’re responsible for queuing a given user’s messages and pushing them to their web browser via HTTP. We made an early decision to write the channel servers in Erlang. The language itself has many pros and cons, but we chose Erlang to power Chat because its model lends itself well to concurrent, distributed, and robust programming. It’s easy to model our millions of concurrent users with a few lightweight processes each, where the same tactic in, say, C++ would have been more daunting. Programming languages are always a tradeoff; Erlang makes some hard things easy but, unfortunately, some easy things hard.

Here are links to some of the facebook engineering notes.

Facebook chat and challenges from May 13, 2008 – http://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=9

Chat stability and scalability (chris piro) - http://www.facebook.com/note.php?note_id=51412338919

Engineering tech talk videos on chat – http://www.facebook.com/video/video.php?v=631726942083


Post to Twitter Post to Yahoo Buzz Buzz This Post Post to Delicious Delicious Post to Digg Digg This Post Post to Reddit Reddit Post to StumbleUpon Stumble This Post

Related posts:

  1. Over 6 Billion minutes is spent every day on facebook Image via CrunchBase If that number peaked your interest...
  2. Is it abt time twtr blt its own URL shrtng svc Services that are in the business of providing short URLs...
  3. Facebook showing twitter some love by copying them Do no evil was one of the axis of evil...

Related posts brought to you by Yet Another Related Posts Plugin.

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>