Content distribution - Scalability


Pondering on an installation of your software tonight, I have a bit of a puzzle. How do I scale to multiple PoPs with distributed content?

Imagine the scenario where a company launches a pilot of the software for internal collaboration. Within this multi-national corporation, the pilot is a fantastic success. Time to roll-out an application based on XenForo to a large audience, with servers in APAC, NA, and EMEA. Now, through a stroke of luck, the top of the tree has three categories: APAC, NA, and EMEA. How would one go about distributing the content to conserve network resources?

I can think of one way... anchor a database to each category, assign each "category" database to the appropriate server, configure replication, and away we go! The problem is that I don't see a means to anchor a database to a Xenforo node. Can a Xenforo installation span multiple databases without massive coding changes?

My idea is slightly different, but shares the same requirement.


XenForo developer
Staff member
To do full on sharding, you'd likely need a lot of database changes. I suppose you could look into something like MySQL Cluster, but that's not something that anyone has used (to my knowledge).

Static resources can be CDN'd if desired.


Thank you for the reply, Mike. The reason that I want to avoid clustering is due to the high bandwidth requirement. Ideally, I'd like to use replication, where the master database is always local to the authoritative web servers, which are determined by physical proximity to the largest user base for a particular node or branch of the tree.

I'll have an installation of Xenforo soon enough, at which time I'll take a more educated approach.