我在 nodejs 应用程序中使用 rhea 使用 AMQP 通过 Azure 服务总线发送消息。我的问题如下:
有时,消息处理尝试可能会因为我们无法控制的事情而失败。例如,对某些 API 的调用可能会因为服务关闭而失败。那时我们解锁消息,以便稍后或由另一个实例拾取它。经过一定数量的重试后(当交付计数达到某个最大值时),它只会在 DLQ 中结束。
我想要实现的是,在每次交付尝试之间会有越来越多的暂停,因此 X 次重试不会只是快速连续发生,直到达到最大值。通过这种方式,如果只是等待某些服务再次可用,我可以给导致失败的任何时间恢复。如果这不起作用,则消息无论如何都可以转到 DLQ。
天蓝色服务总线中是否有一些设置可以实现这一点,还是我必须将它编程到我自己的应用程序中?