我最近一直在与 Rebus 合作,到目前为止,它一直很棒。
一个值得关注的领域是,当我们有数千或数十万条消息正在处理并且依赖服务(如数据库或 RabbitMQ)出现故障时。
在这种情况下,我们不需要错误队列中的所有消息。我想知道 Rebus 是否有任何内置的断路器机制?比如我在 60 秒内达到了 10% 的故障率阈值,并希望在一段时间内禁用端点,以防基础设施出现故障并需要恢复。
最佳答案
伙计,这是一个绝妙的主意!
它甚至可以在不接触 Rebus 的内部结构的情况下制作,只需将装饰器卡在 IErrorHandler
上即可。 ,这将检测错误率,然后将 worker 数量设置为 0 一段时间。
如果您对此感兴趣,可以在 GitHub 上将其作为问题提出。 🙂
关于Rebus 断路器的实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62069828/