Was wondering about $subject

Traditionally we have stored our product configs, be it carbon.xml,
api-manager.xml, identity.xml, etc. at file level. Some configs, such as
"port offset" are inherently bound to the server startup so it makes sense
for them to be at file level, since they come into affect during the
startup. But certain runtime configs actually get engaged only when a given
feature is used. But having those configs at file level require a restart
for the changes to take affect. In C4 API Manager avoided doing restarts
for certain config changes, like adding mediation extensions, by storing
them in the registry.

For C5 a reusable implementation can exist at each node which periodically
reads the table(say once a minute) and updates the config values in memory.
Products communicate with this config library to get the values of a given
config. So eventually they will read the updated value in a short time. If
we were to store at least certain configs at DB level there are several
advantages.

1. Eliminate need for a restart for changes to take affect. I realize in C5
a restart is relatively cheap so this might not be a big deal, but you
still need someone to initiate the restart after the config change.

2. Since the config DB table has a known structure a UI can be easily
developed to do CRUD operations for config changes and used by all
products. This is a lot more user friendly than asking users to change
files.

3. We can provide a REST API to allow config changes to be done on the DB
table alternatively.

4. Simplify dev ops by eliminating complicated puppet config templates that
need to constantly maintained with new releases.

5. Since configs are in a central DB its easy to manage them since all
nodes will read from the same table.

6. Configs can be backed up by simply backing up the table


Doing this makes sense for certain use cases of API Manger, I'm sure there
maybe similar benefits for other products as well. It may not make sense
for all configs but at least for some that govern feature functionality its
great to have. WDYT?

-- 
Regards,
Uvindra

Mobile: 777733962
_______________________________________________
Architecture mailing list
Architecture@wso2.org
https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture

Reply via email to