L'idée de départ était de trouver un produit proposant toutes ces features et qui éviterait un couplage compliqué, voir hasardeux entre des librairies d'origines différentes. La partie dashboard étant le nice-to-have !
Après une étude de l'existant, je suis tombé assez rapidement sur Hystrix, qui est une librairie développée à l'origine par Netflix, pour Netflix. Cette librairie au nom mystérieux possède toutes les caractéristiques désirées, elle implémente le pattern circuit-breaker à la perfection, on peut lui adjoindre un mécanisme de cache interne et propose en complément une solution de dashboard, mais pas que... En effet, on retrouve également dans le produit la possibilité de brancher un fallback en cas d'échec de la requête, de faire des requêtes en mode batch (request-collapsing), de découpler le circuit-breaker du flot d'exécution courant par l'utilisation de thread-group...
J'ai donc décidé d'étudier cela de plus près et quelques informations supplémentaires sont à disposition sur mon Wiki pro Reservoir code.
Introduction à Hystrix
Bonne lecture,
Crédit photo : https://pixabay.com/fr/users/jackmac34-483877/
Commentaires