Performance Zone is brought to you in partnership with:

I'm Singaram Subramanian, and I work with CSC India as a Software Developer. My blog is an attempt to share my learnings with all (mainly, for those who desperately mine google finding ways to solve problems, fix issues, learn about a Java/Open source software, or deciding on tough choices etc. during software development as I do). Singaram is a DZone MVB and is not an employee of DZone and has posted 28 posts at DZone. You can read more from them at their website. View Full User Profile

Real-Life Scalability Best Practices and Patterns

06.10.2012
| 2462 views |
  • submit to reddit

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 http://thebigsoftwareblog.blogspot.com/2010/08/scalability-fundamentals-and.html.

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:
http://www.infoq.com/articles/ebay-scalability-best-practices

Published at DZone with permission of Singaram Subramanian, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)