Accéder au contenu principal

Hystrix, Introduction


Toujours en quête d'amélioration continue, j'ai décidé de trouver une alternative à notre solution actuelle de cache couplée à un circuit-breaker, qui de surcroît me donnerait une visualisation claire de l'état du système.

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

Posts les plus consultés de ce blog

Releaser avec Maven sur github

Le but de l'exercice est de releaser un projet Maven simple en utilisant le maven-release-plugin via Cygwin sur la plateforme github . En effet, la procédure serait aussi simple que sur Subversion , à la condition d'avoir ses settings et ses POM au carré, ce que nous allons voir de suite. Pour mener à bien l'opération, les pré-requis sont les suivants : Avoir un environnement de développement sous Cygwin , le mien étant Windows XP SP3 / Cygwin 2.712 , / java 1.6.0_17 / git 1.7.1 avec une auto-complétion des commandes git bien pratique, Avoir une configuration Maven opérationnelle dans le sens où vous avez accès aux maximums de repositories publics et une plateforme d'hébergement/déploiement pour vos archives. La mienne étant Maven 2.2.1 / Nexus™ Open Source Edition 1.7.1. J'avoue avoir de la chance, car j'utilise pour mes tests, ma plateforme d'entreprise (chez Vidal) configurée aux petits oignons par mon collègue Thierry que je salue au pass...

Retour sur Rework

Je me suis pour une fois sorti la tête des ouvrages techniques, de mon GoogleReader/programming/languages et autres joyeusetés de ce genre, pour me plonger dans le livre à la mode, Rework . Ce livre co-écrit par Jason Fried et David Heinemeier Hansson est un cookbook destiné aussi bien aux boss, qu'à leurs employés, désirant comprendre et décrypter les clés de la réussite de cette entreprise : 37signals , qui est au passage la boite qui a crée le website Basecamp et le framework ROR . L'ensemble repose sur un enchainement intéressant de chapitres courts mais percutants, avec des illustrations assez plaisantes. Tout est écrit en noir & blanc dans un anglais assez compréhensif, qui permet de le terminer en un clin d'œil, si vous n'avez pas fait comme moi et pris des notes quasiment à chaque chapitre. Je ne vais pas coucher toutes mes notes sur cette page, mais vous en énumérez les premiers points qui m'ont le plus marqué, car ce livre a été pour moi et sera je...

Groovy Grails User Group #2

Encore une bien sympathique rencontre au Groovy Grails User Group hier soir avec les organisateurs et les gugers. Cette rencontre était basée sur l’étude du pourquoi et comment migrer une application web Java standard vers Grails par Stéphane Maldini , qui est au passage commiter sur iceScrum . J’ai bien aimé la façon dont Stéphane a amené la chose et exprimé le besoin en tant que développeur, de passer à d’autres outils aussi facile d’accès, qu’instinctifs et toujours dans l’esprit de vouloir voir autre chose. Je ne vais pas passer au crible les différents slides exposés par Stéphane car mon iPhone m’ayant joué des tours, j’ai perdu la moitié de mes notes. Néanmoins, j’ai été un peu étonné par un ou deux argument exposé. Le premier était que Grails favorise les tests. Je bloque sur ce point et ce, malgré les arguments exposés. En effet, je ne peux comprendre en quoi Grails permet ou facilite l’écriture de tests unitaires. L’idée de Stéphane était que le couple Groovy/Grails permettan...