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

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.

主站蜘蛛池模板: 怀安县| 西乡县| 山西省| 平顶山市| 盘锦市| 鲁甸县| 浦江县| 石阡县| 嵊泗县| 招远市| 河西区| 汪清县| 南平市| 乡城县| 承德县| 鹤岗市| 凌海市| 汉阴县| 安国市| 荃湾区| 连云港市| 焦作市| 郴州市| 吴旗县| 渭源县| 松原市| 邯郸市| 崇信县| 名山县| 信阳市| 江陵县| 临沂市| 德阳市| 临泉县| 拉孜县| 乐陵市| 敖汉旗| 宜川县| 邹平县| 中西区| 赫章县|