Re:Microservices for the Grumpy Neckbeard
by alexchamberlain on Tuesday August 26, 2014 @05:20PM
(#8229635)
Why not just call it sharding? There's enough jargon as it is!
Because when you treat those three aspects of scaling as dimensions of a cube, you can visualize what it means to scale on different axes.
See this diagram http://akfpartners.com/techblog/wp-content/uploads/2008/05/a... taken from http://akfpartners.com/techblog/2008/05/08/splitting-applica.... For in-depth discussion, see the book The Art of Scalability.
Y-axis scaling: splitting the application with functional decomposition (a server for account info, another for catalog, etc.)
Z-axis scaling: each server runs an identical copy of the application (like X-asis) but each server is responsible for only a subset of the data - some other component of the system is responsible for routing each request to the appropriate server (Ex: sharding)