I feel Fail-silent is a specialized case of Fail-safe.
Fail-safe ensures the system enters a safe state to prevent harm or damage.
Fail Silent (Fail-silent) ensures the system continues to operate smoothly by suppressing non-critical errors/operations or providing default values.
For example, in e-commerce, if you are on a checkout page and the recommendation engine is not working properly, you don't want to prevent the customer from finishing the purchase. In this case, you can rather hide the recommendation section or return a default.
Thanks for mentioning my latest post, Raul. Your newsletter is wonderful; I'm recommending it to my subscribers. How could I have missed subscribing to your newsletter until now? I need to catch up with the previous articles :)
When you say 'Fail Silent,' do you mean a 'Fail-safe' system?
Because the documentation mentions fail-safe and fail-fast, but I haven't come across fail-silent anywhere yet.
Good question, Somix.
I feel Fail-silent is a specialized case of Fail-safe.
Fail-safe ensures the system enters a safe state to prevent harm or damage.
Fail Silent (Fail-silent) ensures the system continues to operate smoothly by suppressing non-critical errors/operations or providing default values.
For example, in e-commerce, if you are on a checkout page and the recommendation engine is not working properly, you don't want to prevent the customer from finishing the purchase. In this case, you can rather hide the recommendation section or return a default.
Thanks for mentioning my latest post, Raul. Your newsletter is wonderful; I'm recommending it to my subscribers. How could I have missed subscribing to your newsletter until now? I need to catch up with the previous articles :)
Thank you, my friend. You are just on time. I started a few weeks ago.
The Polymathic Engineer has been a great inspiration.
Thanks for the recommendation. It means a lot!
Very nice explanation Raul!
Had done exactly this for an application when we were integrating with a third-party weather app🙂
That's exactly the beauty of this pattern; we can apply it to many cases.
Thanks, Saurabh!
Yes, the implementation can be tricky. But there are some libraries that can help with that:
- https://failsafe-go.dev/ - I used this one with Go codebase
- https://github.com/Netflix/Hystrix
Oh didn't know failsafe have already a version for GO.
Thanks for adding these two options, Alex!