DZone
Performance Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Performance Zone > Real-Life Scalability Best Practices and Patterns

Real-Life Scalability Best Practices and Patterns

Singaram Subramanian user avatar by
Singaram Subramanian
·
Jun. 11, 12 · Performance Zone · Interview
Like (0)
Save
Tweet
6.04K Views

Join the DZone community and get the full member experience.

Join For Free

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

Scalability

Published at DZone with permission of Singaram Subramanian, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • Instancio: Random Test Data Generator for Java (Part 1)
  • What Is Lean Software Development?
  • Why I'm Choosing Pulumi Over Terraform
  • How the TypeScript ReturnType Works

Comments

Performance Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo