You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We introduced a fuse mechanism some time ago.
The idea was to have a circuit break mechanism in place that allows producers to stop consumers from pushing new messages into the system. Producers ought to "burn" a fuse in certain high pressure situations and "replace" it when pressure has been removed from the system.
In practices we saw several problems with that approach
Producers have to identify situations where it makes sense to burn a fuse. This turned out to be a tricky question and most plugin authors simply ignore that feature probably because of this
Consumer need to react on burned fuses. Fuses cannot be integrated well into the core because consumers need to react differently on a burned fuse.
Fuses tend to convert non-blocking consumers into blocking consumers potentially breaking systems further up (i.e. the systems sending data to gollum)
So in short: Developers were either not aware of the feature and/or it was to confusing to use. It introduced unwanted side effects and missed the purpose in many situations.
As of this I would rather see this feature being removed and maybe replaced by another system that is more dynamic like reactive streams.
The text was updated successfully, but these errors were encountered:
We introduced a fuse mechanism some time ago.
The idea was to have a circuit break mechanism in place that allows producers to stop consumers from pushing new messages into the system. Producers ought to "burn" a fuse in certain high pressure situations and "replace" it when pressure has been removed from the system.
In practices we saw several problems with that approach
So in short: Developers were either not aware of the feature and/or it was to confusing to use. It introduced unwanted side effects and missed the purpose in many situations.
As of this I would rather see this feature being removed and maybe replaced by another system that is more dynamic like reactive streams.
The text was updated successfully, but these errors were encountered: