Microservice Configuration Sync Using Change Lists and Client Updates
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In microservice platforms within cloud computing environments, changes in configuration information often lead to inconsistent configurations across microservices, causing unexpected errors due to incomplete or missed updates, necessitating a real-time and reliable synchronization method.
Innovation Solution
A system and method for synchronizing configuration information in real-time by using a configuration information server to create and transmit a list of changes to a client, which then applies the updated information to the microservice modules through processors, utilizing methods like HTTP polling, Websocket, and Server-sent events.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration information is changed and microservice is deployed, then the microservice uses new configuration information, but configuration information may not be accurately changed for all logical configuration ranges causing inconsistent configurations
Solution Approach 1:
A configuration information server is introduced as an intermediary component between configuration sources and microservice clients. This server receives configuration changes, creates configuration information lists, and distributes them to all clients, ensuring consistent configuration propagation across the distributed microservice system without requiring complex peer-to-peer synchronization mechanisms.
Solution Approach 2:
The system implements a feedback mechanism where the configuration information server tracks which clients have received and applied configuration updates. Clients report their configuration status back to the server, enabling the server to identify and notify clients that have missed updates, thereby ensuring complete and consistent configuration propagation across all microservices.
2Reliability
If configuration information is changed for all microservices, then all microservices use updated configuration, but errors in configuration change may cause unexpected microservice errors
Solution Approach 1:
The configuration information server creates a configuration information list containing all necessary configuration data before distributing it to clients. This preliminary preparation allows for validation and verification of configuration changes before they are applied across the distributed system, reducing the risk of propagation errors.
Solution Approach 2:
The system implements error handling and recovery mechanisms where clients that fail to receive or apply configuration updates are identified and notified by the server. This cushioning approach ensures that configuration errors do not propagate unchecked and that the system can recover from synchronization failures, maintaining overall configuration accuracy.
3Reliability
If configuration information is synchronized in real-time, then all microservices have consistent configuration, but network bandwidth and server load increase
Solution Approach 1:
The configuration information list is segmented and distributed only to clients that need specific configuration updates. Rather than broadcasting complete configuration sets to all clients, the server identifies and notifies only those clients whose configuration has changed, reducing unnecessary network traffic while maintaining synchronization reliability.
Solution Approach 2:
The system uses periodic configuration synchronization where clients check for updates at intervals rather than continuously polling. The server maintains a record of the last configuration version sent to each client and only transmits updates when changes occur, creating an efficient periodic synchronization pattern that reduces network overhead while ensuring eventual consistency.
Data Source
AI summary
Disclosed is a technique of synchronizing configuration information in a microservice platform. A system for synchronizing configuration information in a microservice platform of the present disclosure includes a configuration information server which creates a configuration information list when configuration information is changed to transmit the configuration information list to a configuration information client and a microservice module which is an object to which the changed configuration information is applied in a microservice platform and includes the configuration information client and a configuration information processor, and if configuration information set in the configuration information processor is included in the configuration information list, the configuration information client acquires the changed configuration information from the configuration information server to transmit the changed configuration information to the configuration information processor.


