Website Scalability

Scalability

Sessions. Unless you use ‘sticky’ load balancing, you will have to have some way of sharing session state between servers. This probably means storing session data on either shared storage, or in a DB.

File uploads and replication. If you allow users to upload files, or you have a CMS that allows you to upload images/documents, it needs to cater for the fact that these files will also need to find their way onto other nodes in your cluster. However, if you’ve gone down the shared storage route mentioned above, this should cover it.

DB scalability. If you’re using traditional DB servers, you might want to think about how you’ll implement scalability at that level. This may mean coding your app so you use one connection string for reads, and another for writes. Then, you are free to implement replication with one master node handling the inserts/updates cascading the changes to read only nodes that handle the bulk of the work.

Middleware. You might even want to go down the route of implementing some kind of message oriented middleware solution to completely hand off business logic functions – this will give you a great level of flexibility in how you wish to scale this business logic layer in the future. Although initially this will be a lot of complication and work for not a great deal of payoff.

Load balancer

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s