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.

Friday, February 16, 2018

Scalability Axis: The Scale Cube

Scalability can be obtained along different axis:

  • AXIS X (Scale by cloning):  scalability is obtained by cloning all the services (services and data)
    • Applications are cloned: 
      • if they are stateless,  applications are behind a balancer that redirects requests to every cloned application
      • if they are stateful, applications need to preserve state in a different way
    •  Data are cloned: data synchronization is required to make all nodes updated with the latest information. This synchronization is made by the master via asynchronous operations.

  • AXIS Y (Scale by splitting different things) scalability is obtained dividing the entire system into different functional subsystem that can scale indipendently
    • The entire workload is split among microservices each having a distinct functionality
    • It relies on the decomposition of applications/systems into services
    • Each request for a service is assigned to the responsible node for that service

  • AXIS Z (scale by splitting similar things):  This type of scaling is obtained by data partitioning

    • Each node/server is responsible for only a subset of data
    • There are components whose responsibility is to route request to the appropriate node/server
    • Databases usually use z-axis scale (e.g. cassandra sharding)
    • An advantage of this z-axis is the reducing of memory usage with a drawback of more complexity

No comments :

Post a Comment