Home / Taxonomy term

pipe dream

Pipe Dream: Geographically Distributed Drupal

Barry Jaspan's picture

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.

I am experimenting with an approach to solving this problem that allows users to log in and create content using web and slave database servers that are geographically close to them while maintaining a single consistent Drupal site. It does not require multiple active database master servers and all the intractable problems that causes. My system, called Pipe Dream, intercepts database-changing operations at the remote locations and sends them over a message queue (a.k.a. a pipe) to the primary location where they are replayed.