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

The Microservices solution

Unlike SOA, which promotes cohesion of services, Microservices promote the principle of isolation of services. Each Microservice should have minimal interaction with other Microservices that are part of the system. This gives the advantage of independent scale and deployment to the Microservices.

Let's redraw the architecture of the car rental company using the Microservices architecture principle:

Microservices architecture

In the revised architecture, we have created a Microservice corresponding to each domain of the original system. This architecture does away with the integration and orchestration component. Unlike SOA, which requires all services to be connected to an ESB, Microservices can communicate with each other through simple message passing. We will soon look at how Microservices can communicate.

Also, note that we have used the principles of Domain-Driven Design (DDD), which is the principle that should be used for designing a Microservices-based system. A Microservice should never spawn across domains. However, each domain can have multiple Microservices. Microservices avoid communicating with each other and for the most part use the user interface for communication.

In the revised setup, each team can develop and manage a Microservice. Rather than distributing teams around technologies and creating multiple channels of communication, this distribution can increase agility. For instance, adding a new form of payment requires making a change in the payment Microservice and therefore requires communication with only a single team.

Isolation between services makes adoption of Continuous Delivery much simpler. This allows you to safely deploy applications and roll out changes and revert deployments in case of failures.

Since services can be individually versioned and deployed, significant savings are attained in the deployment and testing of Microservices.

主站蜘蛛池模板: 诸暨市| 兴国县| 海林市| 北海市| 霍州市| 旬阳县| 阳东县| 南汇区| 鱼台县| 正镶白旗| 沿河| 清远市| 介休市| 瑞金市| 深州市| 花垣县| 抚宁县| 长宁区| 宿州市| 肥西县| 金堂县| 工布江达县| 海林市| 新蔡县| 宜章县| 洪雅县| 会宁县| 马鞍山市| 和平县| 福泉市| 伽师县| 正蓝旗| 鄢陵县| 凤凰县| 武穴市| 中西区| 凯里市| 高密市| 西昌市| 苏尼特右旗| 兰坪|