- Hands-On Microservices with Kotlin
- Juan Antonio Medina Iglesias
- 278字
- 2021-06-30 19:10:42
Scalability
Microservices should be designed to be independently scalable. If we need to increase how many requests we can handle or how many records we can hold, we should do it in isolation. We should avoid that, due to a coupling on the architecture; the only way to scale our application is scaling several components together or through the system as a whole.
Let's go back to the original SoA application example and handle a scenario where we need to scale our offers capability:

Even if what we need to scale is our offer capability, due to the coupling of the system, we need to do it as whole. We will increase how many instances of the presentation and business layer we have, and we increase our database either with more instances or with a bigger database. Probably, we may need to also update some of those servers as the resources that they require will increase. In a microservices architecture, we could just scale the elements that are needed. Let's view how we could scale the same application using microservices:

We have just increased what was required for the offers' capability and to keep the rest of the architecture intact, we need to consider that in microservices, those servers are smaller and don't need as many resources due to their limited scope.
In a well-designed microservice architecture, we could effectively have more capacity with less infrastructure since it could be optimized for more accurate use and be scaled independently.
We will review more about this topic in the Cloud Native microservices section of this chapter.
- Java 9 Concurrency Cookbook(Second Edition)
- Building a Game with Unity and Blender
- Instant Zepto.js
- Python零基礎快樂學習之旅(K12實戰訓練)
- Learning Firefox OS Application Development
- D3.js 4.x Data Visualization(Third Edition)
- Android開發:從0到1 (清華開發者書庫)
- Java系統化項目開發教程
- Mastering Git
- Hands-On GUI Programming with C++ and Qt5
- Advanced UFT 12 for Test Engineers Cookbook
- Distributed Computing in Java 9
- Backbone.js Testing
- Android移動應用開發項目教程
- Flink技術內幕:架構設計與實現原理