发送方停止时 Azure 服务总线队列 ScheduledEnqueueTimeUtc 的行为 运行
Behavior of Azure Service Bus Queue ScheduledEnqueueTimeUtc when sender stops running
我们有一个用例,我们需要安排作业,这些作业将作为消息从 Azure Web api 服务发送到 Azure 服务总线队列。因为我们需要在稍后的时间点安排它,所以一种解决方案是使用 Scheduled Delivery ScheduledEnqueueTimeUtc
。
我的理解是,只有在指定的时间到期后,消息才会被排队。我担心的是如果 Web API 崩溃或同时进行升级会发生什么。
1.Will 消息因为尚未入队而丢失?
2.Where 这条消息是否存储在中间时间?
第二种解决方案是使用 visibilityTimeOut
的存储队列,其中消息入队并且不会受到 Web 的影响 API。
- 从稳定性和可扩展性的角度来看,哪个是更好的选择?
消息被发送到服务总线,服务总线根据计划排队(可接收)。所以,回答你的问题
- 没有
- 在队列中,只是无法接收
visibilityTimeOut
用于存储队列。请参考 comparison doc 做出决定。
请注意,虽然您无法接收预定的消息,但您可以 peek 它们。
我们有一个用例,我们需要安排作业,这些作业将作为消息从 Azure Web api 服务发送到 Azure 服务总线队列。因为我们需要在稍后的时间点安排它,所以一种解决方案是使用 Scheduled Delivery ScheduledEnqueueTimeUtc
。
我的理解是,只有在指定的时间到期后,消息才会被排队。我担心的是如果 Web API 崩溃或同时进行升级会发生什么。
1.Will 消息因为尚未入队而丢失?
2.Where 这条消息是否存储在中间时间?
第二种解决方案是使用 visibilityTimeOut
的存储队列,其中消息入队并且不会受到 Web 的影响 API。
- 从稳定性和可扩展性的角度来看,哪个是更好的选择?
消息被发送到服务总线,服务总线根据计划排队(可接收)。所以,回答你的问题
- 没有
- 在队列中,只是无法接收
visibilityTimeOut
用于存储队列。请参考 comparison doc 做出决定。
请注意,虽然您无法接收预定的消息,但您可以 peek 它们。