Showing posts from February, 2014

Inside Facebook Messages' Application Server

Facebook Messages represents one of the most technically challenging products that we've ever created. As we mentioned when we launched Facebook Messages, we needed to build a dedicated application server to manage its infrastructure.

We recently discussed the Messages back end and how we scaled the service to handle all the communication coming from email, SMS, Facebook Chat, and the Inbox. Today we'll explore the internals of the application server.

The Application Server Business Logic

The application server integrates with many Facebook services and shields this complexity from these various clients. It provides a simple interface for its clients to perform standard message operations, including creating, reading, deleting, and updating messages and the Inbox.

The flow for each of them is as follows.

When creating new messages or replying to existing ones, the application server delivers the message to the recipients on behalf of the sending user. If a recipient is specifie…