preface

In our daily work, we may have such requirements that configuration items need to be dynamically adjusted during system operation, such as:

  • Adjust the system alarm person
  • Adjustable switch
  • Adjust degrade switch
  • Adjusting a Log Level
  • .

This is not enough. As the function of the program becomes more complex, the expectation of configuration also needs to be met:

  • Realize the management configuration by environment and cluster
  • Realize the gray scale publishing of the configuration
  • Publishing configurations requires a sophisticated authorization mechanism
  • Configure publishing to record publishing history
  • Configuration rollback to a previous release is supported
  • .

How do you solve these problems? Are there any open source products?

Configuration center on the market

  • Apollo
  • Disconf
  • Spring Cloud Config

How to choose? You can browse through the documentation for yourself.

My final choice was Apollo.

  1. Modify/publish the configuration
  2. Configuration Update Notification
  3. Obtaining the Latest Configuration

Here is an overview of Apollo architecture modules:

What other application scenarios are there?

The dynamic configuration can be implemented in a wide range of scenarios as long as the software involves a local configuration file.

You just need to implement an Apollo-client of your own. When the configuration is updated, you pull the latest configuration information and process it into the configuration format required by the software.

summary

This short article focuses on why you need a configuration center and what open source configuration centers are available on the market.

Apollo has a complete management interface, which I like better, haha.

Recommended reading

  1. Understanding distributed transactions
  2. The ultimate consistency implementation scheme for distributed transactions
  3. Distributed asynchronous communication component selection