Scalability Patterns/Real-life Scalability Best Practices

While I was googling for some content on the Scalability patterns, I’ve found an interesting blog post written by a person named Jeppe at

Here’s the content in brief:

Load distribution – Spread the system load across multiple processing units

Load balancing / load sharing – Spreading the load across many components with equal properties for handling the request
Partitioning – Spreading the load across many components by routing an individual request to a component that owns that data specific
Vertical partitioning – Spreading the load across the functional boundaries of a problem space, separate functions being handled by different processing units
Horizontal partitioning – Spreading a single type of data element across many instances, according to some partitioning key, e.g. hashing the player id and doing a modulus operation, etc. Quite often referred to as sharding.

Queuing and batch – Achieve efficiencies of scale by processing batches of data, usually because the overhead of an operation is amortized across multiple request
Relaxing of data constraints – Many different techniques and trade-offs with regards to the immediacy of processing / storing / access to data fall in this strategy
Parallelization – Work on the same task in parallel on multiple processing units

For those who’re looking for some real-life scalability articles:


One comment

  1. Thank you for sharing…

Leave a Reply

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

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

Google+ photo

You are commenting using your Google+ 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 )

Connecting to %s

%d bloggers like this: