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

Faire sa machine virtuelle sous Debian ARM avec QEMU

Introduction L'objet de ce article est de vous expliquer comment faire  pas à pas,  sa machine virtuelle Debian Wheezy   tournant sur un processeur ARM   avec QEMU . Il est relativement simple de trouver des ressources à ce sujet sur le Web, mais je voulais apporter ma pierre à l'édifice sous forme d'un petit  tutorial prêt à l'emploi. A propos d'ARM et d'émulation, il faut savoir qu'au jour d'aujourd'hui, VirtualBox est incapable de virtualiser un OS tournant sur ARM, cela m'a donc obligé à m'intéresser de plus prêt à QEMU. Et si vous vous demandez pourquoi, je veux émuler de l'ARM, vous le serez au prochain épisode... QEMU QEMU est un logiciel développé à l'origine par le célébrissime programmeur  Fabrice Bellard . Le succès de cet émulateur vient principalement du fait, qu'il est tout aussi capable d'émuler que de virtualiser. La principale différence entre l'émulation et la virtualisation est qu'un ...

Create and use a result captor in Mockito

Today I will show you how to create a Mockito captor In Mockito it exists the possibilty to use ArgumentCaptor to allow developers to verify the arguments used during the call of mocked method, but not the result itself. Indeed, in the current release of Mockito it's not possible to capture it and my solution to do that is to build a ResultCaptor class which implements the Answer interface and generify it for more conveniance. Let's take a look. Create the ResultCaptor class public static class ResultCaptor < T > implements Answer < T > { private T result = null ; public T getResult () { return result ; } @Override public T answer ( InvocationOnMock invocationOnMock) throws Throwable { //noinspection unchecked result = ( T ) invocationOnMock.callRealMethod(); return result ; } } In this quite simple implementation we see that the ResultCaptor class implements the Answer interface which force to override the...

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...