Retry

Although it brings lot of benefits, microservices environment is far more complicated than the legacy monolithic environment. In microservices environment, if retry is not handled very well, it may cause the breakdown of all downstream services – cascading failure.

As a former Java developer, I love Hystrix framework library. It provides excellent fault tolerance and latency tolerance for the interaction between microservices. I still could not find any similar libraries for Javascript and Golang.

When choosing or developing a retry library, what are important factors to consider? For me, there are 3 things to look at:
1. whether it supports exponential back-off
2. whether you can configure maximum number of retry as a circuit breaker
3. whether you can use and configure the library in a central place

There are a few articles I would recommend to read if you are interested in this topic:
Transient Faults Handling
Understanding Retry Pattern with Exponential Back-off and Circuit Breaker Pattern



Leave a Reply

Your email address will not be published. Required fields are marked *