AZ Lamps #12 — Polly V8
Whenever I use a usual thing, I wonder how we lived without it and why no one invented it earlier. It was so apparent!
For a long time, every .NET developer was one on one with the network connectivity issues. What if we can’t reach the external service because the internet is down somewhere (see image)? Should we replace the relevant data with a cached value, throw an error, or make the request again? Or should we make 100 attempts before giving up?
Many developers invented their wheels by implementing a retry logic, a fallback strategy, or a cache. But all of a sudden these things appeared to be history with the appearance of Polly — an open-source library that supports the scenarios above out of the box. In 2016 it overcame 2 million downloads, and nowadays, you’d hardly find a project without Polly.
I am so happy that the Polly development squad keeps going. Earlier this month, I read a blog post about plans for the Polly V8 (the name is an allusion to the engine V8). In short, the team plans to improve Polly’s performance. Early test results are impressive — acceleration exceeds three to ten times, depending on the scenario. Improvements reduced memory pressure as well. It looks like Polly opens the door to a high-load league with confidence.
This news inspired me to refresh my workshop on how to leverage Polly in day-to-day scenarios. I will share the agenda in a separate post.