- 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.
- Puppet 4 Essentials(Second Edition)
- Node.js Design Patterns
- 觸·心:DT時代的大數據精準營銷
- SQL學習指南(第3版)
- JIRA 7 Administration Cookbook(Second Edition)
- Java從入門到精通(第4版)
- Python應用輕松入門
- C++ 從入門到項目實踐(超值版)
- Building a Quadcopter with Arduino
- Swift 4 Protocol-Oriented Programming(Third Edition)
- R數據科學實戰:工具詳解與案例分析
- Bootstrap for Rails
- 實戰Java高并發程序設計(第2版)
- Building Slack Bots
- 開發者測試