It doesn’t have to be a package, you can give ideas for implementation.
The idea is radically simple. Don’t do it in the app. Do it at the networking level with things like istio or linkerd.
+1 for @kron4eg’s suggestion.
If a Go package is required as a replacement, a good approach is to search GitHub for “hystrix language:go” (replace hystrix with any project you need a replacement for).
Reason: many authors who write packages that resemble the functionality of a popular package usually write something like, “similar to…”, “alternative to…”, or “replacement for…” in the project tagline or readme.
I daresay that most public Go projects can be found on GitHub, hence this search should return some useful results. Repeat with GitLab or BitBucket if you want.
E.g., for Hystrix, I found
circuit seems to be actively maintained AFAICT.
Thanks to both
Definitely not. Spring Cloud Hystrix is in maintenance mode and will not be available any more starting from the 2020.0.0 release train (support removed with this commit). Resilience4J is a good replacement.