- Spring 5.0 Microservices(Second Edition)
- Rajesh R V
- 264字
- 2021-07-02 19:44:54
Supporting building self-organizing systems
Microservices help us build self-organizing systems. A self-organizing system supporting automated deployment will be resilient and exhibits self-healing and self-learning capabilities.
In a well-architected microservice system, services are unaware of other services. It accepts a message from a selected queue and processes the message. At the end of the process, it may send out another message that triggers other services. This allows us to drop any service into the ecosystem without analyzing the impact on the overall system. Based on the input and output, the service will self-organize into the ecosystem. No additional code changes or service orchestration is required. There is no central brain to control and coordinate the processes.
Imagine an existing notification service that listens to an INPUT queue and sends notifications to a Simple Mail Transfer Protocol (SMTP) server as follows:

If later, a personalization engine needs to be introduced to personalize messages before sending it to the customer, the personalization engine is responsible for changing the language of the message to the customer's native language.
The updated service linkage is shown as follows:

With microservices, a new personalization service will be created to do this job. The input queue will be configured as INPUT in an external configuration server. The personalization service will pick up the messages from the INPUT queue (earlier, this was used by the notification service), and send the messages to the OUTPUT queue after completing the process. The notification service's input queue will then send to OUTPUT. From the very next moment onward, the system automatically adopts this new message flow.
- JBoss Weld CDI for Java Platform
- 解構產品經理:互聯網產品策劃入門寶典
- 兩周自制腳本語言
- Visual FoxPro 程序設計
- Python漫游數學王國:高等數學、線性代數、數理統計及運籌學
- Functional Kotlin
- 大話Java:程序設計從入門到精通
- Python機器學習之金融風險管理
- Web性能實戰
- 從零開始:UI圖標設計與制作(第3版)
- JSP程序設計與案例實戰(慕課版)
- Training Systems Using Python Statistical Modeling
- Visual C++開發寶典
- PHP+MySQL Web應用開發教程
- Learning D3.js 5 Mapping(Second Edition)