- Queue based dynamic configuration settings management system.
- Configuration settings of various applications are managed from client applications by making crud operations using configuration server apis
- Configuration server also periodically fetches configuration settings and publish them on rabbitmq channel by ConfigurationManager.Publisher
- Registered apps which are using ConfigurationManager.Listener are informed with their configuration settings changes according to their application names and they can access their configuration setting values thanks ConfigurationManager.Listener
docker-compose up
cd configuration-client
npm install
npm start
Start Configuration Server application for interact with client application for crud operations and publish configuration settings to rabbitmq queue periodically to inform listener applications according to their applications settings changes
As an example of Listener Application (SampleConsumerWebApiApp), this application will listen rabbitmq queue for their configuration setting changes with their app name and updates itself otomatically according to this changes. So it can otomatically access their configuration values by calling
_configurationListener.GetValue<string>(name);
_configurationListener.GetValue<bool>(name);
_configurationListener.GetValue<int>(name);
_configurationListener.GetValue<double>(name);