lundi 23 mars 2020

Implementation of transactional config updates

I am looking for some pointers that I could read-up on, as I am not entirely sure what terms I should be looking for to tackle my problem.

I am upgrading configuration plane of an application with multiple threads. Some of variables will be edited by one thread, while in use by another thread. Those vars need some protection mechanism as to be commited to running config only when consumer thread is ready for an update to happen. Otherwise instant update would require consumer threads to check for changes every-time those vars could have changed (high performance hit).

The bottom line is that this needs to be implemented in the application and problem cannot be moved to a transnational DB because:

  1. The amount of configuration variables is quite low
  2. This is high performance application that would be hit hard even if some of those vars were handled externally

I have some ideas of how to do it, but I rather not try to invent a wheel and have some half baked solution. It sounds to me very much like DB theory problem, maybe you could point me where I should be looking for when reading about the subject, or real life examples etc.

One more thing, there are no scaling issues here, the amount of variables being used is hardcoded. Application already is allocating all resources for all of possible config vars. Its a matter of signalling effectively when update can happen safely, and having clean maintainable design.

Aucun commentaire:

Enregistrer un commentaire