-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
Is your feature request related to a specific problem? Or an existing feature?
I try to add some resilience to a relatively small project.
We had some horrible expierence with Azure Service Bus just not being available or being throttled.
If this happens often enough we just want to fallback to not doing async message processing at all.
WE discussed about it and came to the conclussion that normally everything works just fine but then from 1 moment to the other everything just falls apart.
I picked the circuitbreaker and fallback for that. if it fails 20 times in a row disable the servicebus feature and fallback to sync processing.
in polly V8 there is only the advances (in v7 terms) circuitbreaker, i have read through the documentation and all the if then else and it depends there and i am not sure how to pick any of them.
like yes 20 as a threshhold - but will we get 20 messages at all. what if 10 messages fail but only 19 messages arived it not a threashold of 50% .
the business is just not large enough for all the monitoring and discussion and thinking through it to pick the right numbers for the advanced (yet default) circuit breaker setup.
Describe the solution you'd like
bring back the basic circuit breaker.
if it fails 20 times in a row - open it. thats its.
Additional context
currently i look into combining the polly v7 basic cirucit braker with my v8 fallback resilience pipeline. i think that will work but i wont get the new fanyness like integrated telemetry.
telemetry is currently high in value.
i have stitched togehter a horrible reflection magic solution to get all the internals like the ConsecutiveCountCircuitController into the advanced circuit resilience pipeline. but i hope it will never make it
through the review process !
a easy workaround here would be to make the ConsecutiveCountCircuitController public so it can be added as a strategy.