Featured Post

Event Sourcing Video from Michael Ploed

Event Sourcing I want to share a great video I found few days ago that describes very well what Event Sourcing is.

Monday, February 19, 2018

Scalability Techniques


Scalability is about the capability of a system to manage the increase workload of a system without causing qualities impact (i.e. performance, availability).

Scalability can be consider inversely proportional to the increase of time spent for individual work units to complete.

Some methods that betters scalabilities are:

  1. Caching: reduce the overhead of fetching resources (application cache, object cache, CDN)
  2. Asynchronous Communication: reduce the impacts of problems affecting the called service. It decouples and preserves autonomy of a system from another
  3. Stateless Application: allow to introduce architectural components that route request to stateless applications (load balancer)
  4. Data Proximity: reduce the overhead to fetch data remotely by designing component in a way that data is in the proximity of client application
  5. Pooling: reduce the overhead to create expensive resources by pooling them. This also allows to tune the capacity of important resources in order to protect the overall system qualities
  6. Parallelization/Splitting: decrease the time taken to complete a unit of work in a distribute or local manner
  7. Coarse Grained API: making interfaces more coarse-grained reduces the overhead of handling/consuming a lot of requests to complete a service operation

No comments :

Post a Comment