官术网_书友最值得收藏!

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:

Example of scaling a coupled SoA application

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:

Example of scaling a microservice application

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.

主站蜘蛛池模板: 琼中| 龙岩市| 和顺县| 慈利县| 定日县| 雷山县| 泸州市| 平乡县| 环江| 康马县| 洪湖市| 海城市| 西贡区| 江川县| 龙州县| 镶黄旗| 土默特右旗| 乌恰县| 赫章县| 宿松县| 定西市| 将乐县| 岱山县| 维西| 京山县| 新沂市| 西藏| 扶风县| 汶上县| 运城市| 金乡县| 云阳县| 且末县| 桑日县| 广饶县| 安徽省| 弥勒县| 新泰市| 安化县| 利川市| 新郑市|