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

Support circuit breaking inputs #77

Open
AndreasBergmeier6176 opened this issue Aug 15, 2024 · 2 comments
Open

Support circuit breaking inputs #77

AndreasBergmeier6176 opened this issue Aug 15, 2024 · 2 comments
Labels
enhancement New feature or request

Comments

@AndreasBergmeier6176
Copy link
Contributor

AndreasBergmeier6176 commented Aug 15, 2024

When processing from a FIFO input stream a fail in a connected REST Service should possibly trigger a circuit breaking of the input stream.
Might be necessary for Inputs to declare internally, whether they support Circuit Breaking natively though.
Config could be:

processors:
- circuit_breaker:
    half_open_max_requests: 2
    interval: "1s"
    open_timeout: 60s
    trip: |
      root = this.requests >= 3 && (this.total_failures / this.requests) >= 0.6
    processors:
    - http:
@mihaitodor
Copy link
Collaborator

Thanks for the enhancement request @AndreasBergmeier6176! There was a similar proposal in the past: redpanda-data/connect#1069 Unfortunately, that didn't make it as a feature. What does half_open_max_requests represent and what is a trip? Would you happen to have some examples from other systems where this is implemented?

@mihaitodor mihaitodor added the enhancement New feature or request label Aug 18, 2024
@AndreasBergmeier6176
Copy link
Contributor Author

Thanks for the enhancement request @AndreasBergmeier6176! There was a similar proposal in the past: redpanda-data/connect#1069 Unfortunately, that didn't make it as a feature. What does half_open_max_requests represent and what is a trip? Would you happen to have some examples from other systems where this is implemented?

I modeled this mostly after https://github.com/sony/gobreaker

Another quite popular implementation is Envoy: https://www.envoyproxy.io/docs/envoy/latest/configuration/upstream/cluster_manager/cluster_circuit_breakers

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

No branches or pull requests

2 participants