How do I decide on whether to use Rebus.CircuitBreaker or Second Level Retry? I feel like that Second Level Retry Can do the work of CircuitBreaker for example if I find the type of error that is is caused by network I can make the message to return to the TimeoutManager rather than to the error queue. Then in what case do we need the Circuit Breaker in Rebus. Thanks
Rebus CircuitBreaker vs Second Level Retry
120 Views Asked by Amour Rashid At
1
There are 1 best solutions below
Related Questions in REBUS
- Mapping messages from same assembly to different endpoints in Rebus using configsection
- Rebus - Execute action before message is handled
- Rebus Newbie Questions
- Setting a custom return address header
- Rebus MSMQ Centralized Storage
- Rebus Windsor container and inlinemessage handlers
- Strategy for messages that must be delivered in order in Rebus
- Extending rebus with new transport
- Rebus - Deferred Message, exactly one message handler
- Rebus cannot subscribe to multiple endpoints with same 'messages' value
- Does Rebus support using MSMQ over HTTP/HTTPS?
- Rebus with Simple Injector breaking change
- Is there a clean way of getting a message's (transport) Id when working with Rebus?
- Can Rebus be configured to set error queue type to quorum in RabbitMQ?
- Does Rebus support web app publishing message and subscribing to message
Related Questions in REBUS-AZURESERVICEBUS
- Handling defunct deferred (timeout) messages?
- Rebus: Unable to modify / add new headers with BeforeMessageHandled event
- Rebus Azure topic names cleanup
- Rebus - System.MissingMethodException : Method not found: 'System.Threading.Tasks.Task Rebus.Bus.IBus.Send'
- How to use Rebus data bus attachments with Rebus.Async replies
- Why is Rebus.Send not working after update to .NET 5 using Azure Service Bus
- Rebus listening to pure azure servicebus
- Rebus CircuitBreaker vs Second Level Retry
- Rebus Azure Pub Sub pattern
- Rebus with secondLevelRetriesEnabled enable retries doesn't stop retrying on IFailed<T> handler
- Pub sub pattern with centralized subscription storage using Azure Service Bus
- Pub sub pattern created Queues and Topics on Azure Service Bus with Rebus
- Is it possible to use Rebus with Azure Functions?
- Rebus, using Castle Windsor with Rebus
- Rebus with Azure Service Bus, subscribe to an interface
Related Questions in REBUS-RABBITMQ
- Can Rebus be configured to set error queue type to quorum in RabbitMQ?
- Read message from error queue in RabbitMQ
- Rebus saga consistency
- Notifying all consumers of a message
- Rebus retry policy when RabbitMQ is temporarily down
- How to subscribe to Events without coupling the Event Type from another project using Rebus?
- using rabbit mq with rebus keeps publishing the events
- How to handle blocked RabbitmMQ connections using Rebus
- How to immediately stop processing new messages when inside a message handler?
- Can't receive rebus rabbitMQ messages when the object which is published is not shared
- In my Rebus handler I am performing a database operation and then send commands to other three handlers
- Rebus CircuitBreaker vs Second Level Retry
- Rebus Timeout Manager
- Rebus & RabbitMq always seems to use "RabbitTopics" exchange
- Accepting command and raising events from a service
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Circuit breaker is a pretty fixed concept, as its purpose is to avoid hammering a resource when there is an error, which can be used to avoid causing more harm in situations where e.g. contention and high load has caused the resource to start failing.
2nd level retries offer more flexibility, as you can use them to code pretty much any kind of advanced retry logic you can think of. You could probably implement your own kind of circuit breaker using 2nd level retries, and - as you suggest - you can use them in conjunction with deferred messages to implement a more sophisticated retry strategy.