On 1/2/07, Kelly Jones kelly.terry.jones@gmail.com wrote:
The mirror servers should be as independent as possible: geographically diverse, on different backbones, each using their own MySQL server, owned by different people, etc. Some of the mirror servers may be free, others may be paid hosting, others may be dedicated servers, etc.
You're looking for the holy grail of hosting.
Some of this has been implemented via ideas like mysql-cluster (mentioned earlier) but I gather that mediawiki itself would need to be modified to support that technology.
Load-balancing a webserver is already something that's fairly well known.
Basically you'd have to have some front-end computer which understands the bandwidth usage of all of its attached hosts, and it would intelligently balance the load over to those mirrors which have bandwidth left.
And then those secondary computers would each have an installation which would have some kind of synthronized database cache. This would require a bit of MySQL magic, but it is supported by it. But it's not supported by MediaWiki.. so edit collisions and such would be impossible to sort out if you have cached-reads from or slow-writes with the mirror sites..
But here's the problem.. what bandwidth is being saved, when the same copy of a page has to get synced to all of the other mirrors? Oh, you could modify mediawiki to only update its local copy if a page edit request comes in and an old copy is stored locally.. but where is the disaster recovery when one of your mirrors goes down?
This is a complex issue.. and probably not worth the spare change which basic hosting would cost. If the site is wildly popular.. then become self-supporting via memberships, ads, donations, etc..