Clustering OP on multiple servers

Events happening in the community are now at Drupal community events on www.drupal.org.
JurgenHeiman's picture

Has anybody tried clustering OP? I want to build a high-availability cluster with it, but I'm curious if anybody has any experience in doing this.

Basically I want to achieve the following:
* load-balancing
* high-availability in case one or more servers go down (crash, maintenance etc)

After some research I want to give the procedure described in http://www.coderintherye.com/drupal-mysql-cluster-ndbcluster-high-availa... a go, but maybe there are better alternatives?

Comments

OpenPublish clustering has

irakli's picture

OpenPublish clustering has all the same characteristics that Drupal clustering does, because... well, OpenPublish id Drupal :) That said, I don't think the link you posted has enough information and I am not sure it's a best-practice way of achieving high availability.

Typically, in a high-load Drupal setyp you would have:

  1. Two powerful Master nodes of MySQL (master-to-master replication, one active, other standby)
  2. A bunch of read-only slave MySQL nodes (if (1) is insufficient).
  3. Bunch of LAMP front-ends
  4. Caching moved from MySQL to memcached cluster and search moved to Solr instead of core search.
  5. CDN for all static content
  6. Some video hosting (Brightcove, Bitsontherun... ) for all video
  7. Some kind of front-end cache (Varnish, Apache Traffic Server; or Akamai and Limelight are wonderful - if you can afford them). Please keep in mind that you will need to replace Drupal core with Pressflow for these to work. It's an easy swap for OpenPublish, though.
  8. Trying to move as much of the persistence to a NoSQL like MongoDB (instead of MySQL) as possible. Usually comments are first to go. For comments you can also use Disqus.

The bet in such cases is on two main factors:
1. Most traffic is anonymous so front-end cache should take large portion of traffic on itself (at least with the help of edge-side-includes (ESI)).
2. Requests are predominantly "read" requests with very small portion being "write" requests. Hence having multiple read-only slave MySQL servers can ease the burden significantly.

Trying to build a high-TPS, truly clustered multi-master setup is not what Drupal on MySQL is best suited for.

.............................................
http://twitter.com/inadarei

OpenPublish

Group organizers

Group categories

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: