- 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.
- HTML5+CSS3王者歸來
- .NET之美:.NET關鍵技術深入解析
- Java EE 6 企業級應用開發教程
- 程序員面試筆試寶典
- .NET 4.0面向對象編程漫談:基礎篇
- Apache Karaf Cookbook
- 表哥的Access入門:以Excel視角快速學習數據庫開發(第2版)
- Flutter跨平臺開發入門與實戰
- Getting Started with React Native
- Swift 4從零到精通iOS開發
- OpenStack Networking Essentials
- ExtJS Web應用程序開發指南第2版
- Visual C++從入門到精通(第2版)
- 深入淺出 HTTPS:從原理到實戰
- 深入理解Java虛擬機:JVM高級特性與最佳實踐