不确定我应该使用哪个azure队列

不确定我应该使用哪个azure队列,azure,queue,azureservicebus,Azure,Queue,Azureservicebus,目前,我在处理从应用程序发送到azure队列的数据时遇到问题。我发送的数据需要以FIFO方式发送,但Azure队列无法保证有序。而Azure服务总线队列保证为FIFO 我不确定Azure服务总线队列是否与Azure队列有任何区别。< P>作为解决方案架构师/开发人员,您应该考虑使用存储队列>: 应用程序必须在队列中存储超过80 GB的消息,其中消息的生存期短于7天 应用程序希望跟踪队列中消息的处理进度。这在处理消息的工作人员崩溃时非常有用。然后,后续员工可以使用该信息从先前员工离开的地方继续

目前,我在处理从应用程序发送到azure队列的数据时遇到问题。我发送的数据需要以FIFO方式发送,但Azure队列无法保证有序。而Azure服务总线队列保证为FIFO


我不确定Azure服务总线队列是否与Azure队列有任何区别。

< P>作为解决方案架构师/开发人员,<强>您应该考虑使用存储队列>:

  • 应用程序必须在队列中存储超过80 GB的消息,其中消息的生存期短于7天
  • 应用程序希望跟踪队列中消息的处理进度。这在处理消息的工作人员崩溃时非常有用。然后,后续员工可以使用该信息从先前员工离开的地方继续
  • 您需要针对队列执行的所有事务的服务器端日志

作为解决方案架构师/开发人员,<强>您应该考虑使用服务总线队列>:

  • 您的解决方案必须能够在不轮询队列的情况下接收消息。对于服务总线,这可以通过使用服务总线支持的基于TCP的协议,使用长轮询接收操作来实现
  • 您的解决方案要求队列提供有保证的先进先出(FIFO)有序交付
  • 您希望在Azure和Windows Server(私有云)上获得对称体验。有关详细信息,请参阅
  • 您的解决方案必须能够支持自动重复检测
  • 您希望应用程序将消息作为并行长时间运行的流进行处理(使用消息上的属性将消息与流关联)。在这个模型中,消费应用程序中的每个节点竞争流,而不是消息。当流被提供给消费节点时,该节点可以使用事务检查应用程序流的状态
  • 当从队列发送或接收多条消息时,您的解决方案需要事务性行为和原子性
  • 特定于应用程序的工作负载的生存时间(TTL)特征可以超过7天
  • 应用程序处理的消息可能超过64 KB,但可能不会接近256 KB的限制
  • 您需要为队列提供基于角色的访问模型,并为发送者和接收者提供不同的权限
  • 您的队列大小不会增长超过80 GB
  • 您希望使用基于AMQP 1.0标准的消息传递协议。有关AMQP的更多信息,请参阅服务总线AMQP概述
  • 您可以设想最终从基于队列的点到点通信迁移到消息交换模式,该模式支持无缝集成其他接收器(订阅者),每个接收器接收发送到队列的部分或所有消息的独立副本。后者是指服务总线本机提供的发布/订阅功能
  • 您的消息传递解决方案必须能够支持“最多一次”交付保证,而无需构建额外的基础架构组件
  • 您希望能够发布和使用成批邮件

存储队列中的消息通常是先进先出的,但有时它们可能会无序;例如,当消息的可见性超时持续时间到期时(例如,由于客户端应用程序在处理过程中崩溃)。当可见性超时过期时,消息在队列上再次可见,以便其他工作人员将其出列。此时,新可见的消息可能会被放置在队列中(再次退出队列),该队列位于最初排队的消息之后

您会发现这篇文章有助于为您的案例做出决策:它比较了存储队列和服务总线队列提供的一些基本排队功能


另请阅读。

由于这几乎是您链接到的网页中的确切文本,因此最好只提供此链接,作为对问题的评论。好吧,我认为这并不重要,因为我已经提供了这两个链接,我以前看过此链接。我不擅长做决定。所以,来这里给我一些信心,我应该利用这些信心。。我认为服务总线队列更适合我的场景。这清楚地表明,如果需要FIFO,您需要使用服务总线。只有在使用会话时,Azure服务总线才支持FIFO。存储队列不支持排序。