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

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.

主站蜘蛛池模板: 海南省| 吴堡县| 东阿县| 长顺县| 靖江市| 丰城市| 昌江| 普宁市| 阿尔山市| 旺苍县| 河北区| 逊克县| 石门县| 互助| 哈尔滨市| 临朐县| 扎鲁特旗| 麦盖提县| 海城市| 余江县| 攀枝花市| 宜兰县| 望奎县| 陈巴尔虎旗| 京山县| 蓝山县| 永清县| 张北县| 阳城县| 玉田县| 鄂托克旗| 大同市| 庆城县| 遵化市| 梁平县| 咸宁市| 安徽省| 新建县| 肃北| 汝南县| 舒城县|