Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Integrate / add support for Lunar Proxy (backend policy) #376

Open
kaplanlior opened this issue Feb 4, 2024 · 1 comment

Comments

@kaplanlior
Copy link

Using FailSafe is a useful solution. In some cases, we'd like to keep the option to adapt / change the policy or its parameters (e.g. number of retries, timeouts) on the fly. That could be for debugging purposes or in need to react to an external event. With failsafe, these changes require a code update and a deployment of the file.

We'd like to suggest an integration from FailSafe to Lunar Proxy in order to allow the developer to delegate some decisions to Lunar or to allow Lunar to add on top of the resilience measures defined by FailSafe - e.g. changing the fallback values without code redeployment.

This can be done with Lunar, an API egress proxy - https://github.com/TheLunarCompany/lunar (an Open Source project under MIT license)

We saw a case where a similar change was required for multiple uses / deployments of code that used FailSafe. We'd like to allow the developer to plan (in advance) cases / API calls which leave more flexibility instead of coding the strategy & its parameters.

Also adding as a reference: #320 (the option for a backend was mentioned there)

@Tembrel
Copy link
Contributor

Tembrel commented Feb 4, 2024

Some aspects of Failsafe policy behavior can already be computed/enforced on the fly. Some examples:

More substantial changes to policy behavior from on-the-fly changes run the risk of being hard to define, especially under asynchronous execution.

Do you have a concrete realistic example of something that can't accomplished with the present state of Failsafe Java?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants