Hi all,
Currently I have five wikis with the largest one being about 35k articles
(109k pages) and pretty heavily trafficked. My basic server architecture is
four web servers behind a load balancer and with a single NFS server that
shares out a directory that contains the upload directory content for each
of the five wikis, e.g. /wiki/wiki1, /wiki/wiki2, etc. (There are also
MySQL and Memcached servers but they are not relevant to this discussion.)
Each web server mounts /wiki in one location, say /var/www/images and each
of the five MediaWiki instances on the server has its images subdirectory
as a symlink to its corresponding subdirectory under the mount, e.g.
/var/www/images/wiki2.
Obviously the NFS server is a single point of failure but I've yet to come
up with a good alternative shared-filesystem architecture that doesn't
require an expensive license like SNFS.
Finally, I'm considering moving the whole shebang to AWS but using S3
directly on the web servers doesn't seem viable in this architecture.
So I'm wondering how others are approaching the design of load balancing
(multiple instances of) MediaWiki across multiple web servers while
maintaining a single source for each wikis upload directory content. I'm
willing to COMPLETELY reevaluate my wiki server architecture as long as
it's fast and highly available, so all suggestions are welcome!
Justin