Chat cam instant

One of the things I like most about working at Facebook is the ability to launch products that are (almost) immediately used by millions of people.Unlike a three-guys-in-a-garage startup, we don't have the luxury of scaling out infrastructure to keep pace with user growth; when your feature's userbase will go from 0 to 70 million practically overnight, scalability has to be baked in from the start.We chose to simulate the impact of many real users hitting many machines by means of a "dark launch" period in which Facebook pages would make connections to the chat servers, query for presence information and simulate message sends without a single UI element drawn on the page.With the "dark launch" bugs fixed, we hope that you enjoy Facebook Chat now that the UI lights have been turned on.Having Thrift available freed us to split up the problem of building a chat system and use the best available tool to approach each sub-problem.

We were the first dating site to offer instant messaging/web cam chat and now we're changing the industry again by introducing a personal complement to online dating - personal matchmaking.The project I'm currently working on, Facebook Chat, offered a nice set of software engineering challenges: The most resource-intensive operation performed in a chat system is not sending messages.It is rather keeping each online user aware of the online-idle-offline states of their friends, so that conversations can begin.Glueing together PHP, Javascript, Erlang, and C is not a trivial matter. Thrift translates a service description into the RPC glue code necessary for making cross-language calls (marshalling arguments and responses over the wire) and has templates for servers and clients.Since going open source a year ago (we had the gall to release it on April Fool's Day, 2007), the Thrift project has steadily grown and improved (with multiple iterations on the Erlang binding).

Leave a Reply