Backoffice code refactoring
I recently spent a couple of weeks refactoring the Back Office code.
Nothing is visible on the UI, but maintenance and evolution of the microservices will be much easier:
- Redis and Elasticsearch DAO
- Configuration loading process
- API exposure code
- Circuit breakers initialization
All these parts are still much flexible, and can be adapted to the various services need, but the common code has extracted in common files throughout the services 🙂
No regression noticed for now =)
There was an issue with current setup procedure:
- The whole upgrade process has been automated at the beginning of the year
- But you had to look at the updated files after an update or configuration change to know which services needed restarting.
- Or you had to stop and restart the full cluster.
Now, each service is monitoring its own configuration changes every 2 minutes (configurable). And if a configuration change is noticed, the service restarts gracefully 🙂
Sadly, it does not prevent errors to happens, since the restart should be managed in the gateway first. Indeed, the later tries to call the removed service for a couple of times.
Nevertheless, upgrading the plateform is easier than never 😀 !