我正在使用 Nservicebus 4.7.5 和 azure service bus 作为传输。我的端点只是事件的订阅者,它不发布任何内容。我的端点接收到天蓝色存储的事件调用并执行 CRUD。
现在当 azure 存储数据中心暂时离线时,端点将继续运行,消息将进入死信队列。
我正在寻找一种方法来阻止我的端点消费消息,当我的存储和临时问题出现时,防止它们陷入死信。
我正在使用 Nservicebus 4.7.5 和 azure service bus 作为传输。我的端点只是事件的订阅者,它不发布任何内容。我的端点接收到天蓝色存储的事件调用并执行 CRUD。
现在当 azure 存储数据中心暂时离线时,端点将继续运行,消息将进入死信队列。
我正在寻找一种方法来阻止我的端点消费消息,当我的存储和临时问题出现时,防止它们陷入死信。
你有没有想过 ASB 会丢弃旧消息而你根本没有任何消息?至少现在您将它们放在错误队列中。计算一个罕见的异常并在它发生时有办法解决它要好得多,而不是构建一个解决方法。
想象一下,我的办公室停电了,而且每隔六个月就会发生一次。因此,我不会开始建造柴油发电机设施。相反,我会制定一些计划,如何使用我已经拥有的东西来处理这些中断。
如果你想完全停止处理,你可以做的是实现一个断路器。NServiceBus 在传输中断时使用它。如果 blob 存储对于您的服务同样重要,您也可以使用它。重试后它将完全停止服务(除非您开发自己的版本)。