简体   繁体   English

使用Azure Service Bus的队列和主题/订阅的消息排序传递

[英]Message ordering delivery for Queues and Topics/Subscriptions with Azure Service Bus

I am confused with whether or not message ordering delivery is supported by default for Queue and Topic. 我对队列和主题默认情况下是否支持消息排序传递感到困惑。

It said below FIFO message delivery is supported for Queue. 它说以下队列支持FIFO消息传递。 I assume this is the same as message ordering delivery. 我认为这与消息订购传递相同。

Queues offer First In, First Out (FIFO) message delivery to one or more competing consumers. 队列向一个或多个竞争消费者提供先进先出(FIFO)消息传递。 https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-queues-topics-subscriptions https://docs.microsoft.com/zh-cn/azure/service-bus-messaging/service-bus-queues-topics-subscriptions

However, why is Enabling Sessions required as the screenshot below shown. 但是,为什么需要启用会话,如下面的屏幕截图所示。

To realize a FIFO guarantee in Service Bus, use Sessions. 要在服务总线中实现FIFO保证,请使用会话。

https://docs.microsoft.com/en-us/azure/service-bus-messaging/message-sessions https://docs.microsoft.com/zh-cn/azure/service-bus-messaging/message-sessions

在此处输入图片说明

Topics and Subscriptions 主题和订阅

What about FIFO for Topics and Subscriptions? 主题和订阅的FIFO怎么样?

Update 更新资料

My question is: 我的问题是:

Is message ordering delivery (FIFO) supported by default for Queues and Topics/Subscriptions, without using Sessons? 在不使用Sessons的情况下,默认情况下是否为队列和主题/订阅支持消息排序传递(FIFO)? Other brokers like RabbitMQ supports this by default if I remember correctly. 如果我没有记错的话,像RabbitMQ这样的其他经纪人默认情况下也支持此功能。

Am I correct that if I want FIFO for all messages in the Queue even thought I don't need sessions of ordered message, I need to enable Sessions? 我是否正确,如果我想要队列中所有消息的FIFO,甚至认为我不需要有序消息会话,都需要启用会话吗?

For example: 例如:

All messages in the queue with ordering: I need all message ordering preserved without enabling session: 队列中所有消息的排序:我需要保留所有消息排序而不启用会话:

1, 2, 3, 4, ... n

Sessions of ordered messages: I don't want to enable sessions 有序消息会话:我不想启用会话

session 1: 1, 2, 3, n

session 2: 1, 2, 3, n

session n: 1, 2, 3, n

Is this requirement of enabling session only to preserve message ordering cubersome, even when I don't want sessions of messages? 是否仅在不希望进行消息会话的情况下启用会话的要求才能保留消息的顺序?

Session can be enabled on entities that support receiving. 可以在支持接收的实体上启用会话。 That would be queues and subscriptions. 那就是队列和订阅。 Topics can only be used for sending. 主题只能用于发送。

Updated 更新

I need all message ordering preserved without enabling session 我需要保留所有消息顺序而不启用会话

This will not work. 这是行不通的。 Ordered messages require sessions to insure the order is enforced. 有序消息需要会话以确保强制执行命令。 Without sessions, messages can get out of order easily. 没有会话,消息很容易混乱。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 检测并删除Azure Service Bus上的孤立队列,主题或订阅 - Detect and Delete Orphaned Queues, Topics, or Subscriptions on Azure Service Bus 如何使用Azure Service Bus分区队列/主题支持FIFO消息排序? - How do you support FIFO message ordering with Azure Service Bus partitioned queues/topics? 通过队列订阅azure服务总线主题 - subscribe to azure service bus topics with queues 具有工作人员角色的Azure Service Bus主题和订阅 - Azure Service Bus Topics and Subscriptions with Worker Role Azure 没有队列或主题的服务总线流量 - Azure Service Bus Traffic With No Queues Or Topics Azure Service总线将主题与Web /辅助角色的队列排队 - Azure Service bus queues topics vs queues for web/worker roles 一对多(唯一)的Azure Service Bus队列与主题 - Azure Service Bus Queues vs Topics for one to many(unique) 使用带有 SharedAccessKey 的 Rest API 列出 Azure 服务总线的队列/主题 - List Queues/Topics of Azure Service Bus using Rest API with SharedAccessKey 有没有办法在 Azure 服务总线上发送带有 Python 中的主题和订阅的文件? - Is there a way to send files on Azure Service Bus with topics and subscriptions in Python? 是否捕获没有订阅或过滤出的发送到Azure Service Bus主题的消息? - Capture messages sent to Azure Service Bus Topics with no subscriptions or filtered out?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM