This site is archived.

Geographically Distributed Drupal

Configuration, Set-Up & Performance

Geographically Distributed Drupal

45 minutes (+15 minutes Q&A)



The speed of light is, unfortunately, still a constant. If your Drupal site has users in San Francisco, New York, London, Tokyo, Delhi, and Australia (and whose doesn't?), you've had no good way to give all of them fast access to your site. No matter where you put your master database server, most people have to cross an ocean to access it. Perhaps you can put read-only slave databases with local web servers in locations around the world, but then the remote users still have a long haul when they want to log in and create content---which is, after all, what your Drupal site is for.

This session will describe a new project called Pipe Dream that attempts to solve this problem. Pipe Dream allows users to log in and create content using geographically distributed web and slave database servers that are close to them while maintaining a single consistent Drupal site. The basic idea is simple: When a user creates content using a remote server, the data that would normally be written is instead sent as a message to the real central master server and shortly thereafter replicated back to all the remote servers.

Unsurprisingly, the details are complex. This session will describe our progress to date, including topics such as:

  • What kinds of content and changes are supported
  • Distributing user-uploaded files
  • Distributing source code changes and handling database schema updates
  • Choosing a message queue implementation

As of June 2010 this is an early-stage research project. We'll tell you what we have figured out so far, but do not expect to leave with working code you can deploy. :-)