5 ms·
What do you mean by scalability?
by jules 9y ago
What do you mean by scalability?
- jdmichal 9y agoThat's a great question. I mean ability to serve concurrent requests, or throughput. Microservices will typically worsen other metrics like individual response time.
- jules 9y agoI am not sure microservices are good for scalability in that sense. Microservices divide your application vertically, but for scalability you want to divide it horizontally. You don't want a separate service for each feature of your app, you want an application server that you can replicate as many times as necessary.
- jdmichal 9y agoMicroservices can scale both directions, same as other systems. You can allocate more resources to individual service instances (vertical), and you can allocate more service instances (horizontal). The later scaling should be done in an automated fashion. If you look at something like Spring Boot, you will find that an individual service instance is a stand-alone application server. That is what is duplicated when a new service instance is created.
- marcosdumay 9y agoA system is scallable if when you add more hardware, you get more performance.
- wolf550e 9y agoyes, but both latency and throughput are "performance", and microservices worsen latency.
- marcosdumay 9y agoWell... Yes. Performance is highly application specific. It may be any combination of [throughput, latency, responsivity] x [maximum, minimum, average, some cut over a distribution, instantly measure on some important time]. And there are probably more possibilities, those are just the usual ones. Microservices can make any one of them better, very likely at the cost of making other ones worse.