首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Azure服务总线队列和BrokeredMessage.ScheduledEnqueueTimeUtc更新订阅

使用Azure服务总线队列和BrokeredMessage.ScheduledEnqueueTimeUtc更新订阅
EN

Stack Overflow用户
提问于 2014-11-13 16:43:03
回答 1查看 4.9K关注 0票数 4

我有一个订阅模式,并希望执行更新相关的逻辑,如签发新发票,发送电子邮件等。例如,用户将购买订阅今天,更新是在一年的时间。我最近一直在使用Azure队列,并且认为它会申请这样的更新。

通过使用BrokeredMessage.ScheduledEnqueueTimeUtc (http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.brokeredmessage.scheduledenqueuetimeutc.aspx)将消息推送到如此长期的预定消息中,可以使用Azure队列吗?

我使用它的时间较短,比如在1分钟内发送通知,而且效果很好。

这样,我甚至可以让多个进程侦听队列,并确保只有一个进程将执行更新逻辑。这将解决许多与锁定相关的问题,因为这是通过租赁和相关特性在Azure队列中内置的。

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 17:53:05

是的,您可以将其用于长期调度,调度消息与正常消息具有相同的保证。但是,有几件事你需要注意:

  • ScheduledEnqueueTimeUtc是消息在队列上可用(在数百毫秒内)但不需要传递的时候,这取决于队列的加载和状态。因此,对于业务流程来说,这是可以的,但对于时间敏感(毫秒)的使用则不是这样。在您的情况下没有问题,除非您的订阅取消是真正的时间敏感。
  • 它会影响您的存储配额(并不是当前配额的问题,但如果您考虑几年,这可能是一个问题)。
  • 据我所知,您无法在ScheduledEnqueueTimeUtc之前访问预定的消息,它们是不可见的。

关于azure消息的非常棒的信息来源

从技术角度看,这很好,但就你的情况而言,如果你考虑到几年,我也会考虑其他潜在的问题:

  • 消息版本化
  • 当您希望将Azure更改为其他东西(AWS)时,会发生什么?
  • 如果你决定明年更换NServiceBus的Azure服务巴士怎么办?
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26913951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档