gpt4 book ai didi

Azure 服务总线请求回复模式

转载 作者:行者123 更新时间:2023-12-03 02:38:55 24 4
gpt4 key购买 nike

我正在尝试使用 microsoft 文档 ( https://learn.microsoft.com/en-us/azure/service-bus-messaging/message-sessions#request-response-pattern ) 中描述的请求回复模式

“多个应用程序可以将其请求发送到单个请求队列,并设置特定的 header 参数来唯一标识发送方应用程序。接收方应用程序可以处理进入队列的请求并在启用 session 的队列上发送回复,设置将 session ID 转换为发送者在请求消息上发送的唯一标识符。然后,发送请求的应用程序可以接收特定 session ID 上的消息并正确处理回复。”

据我了解,应该可以从多个应用程序发送消息,让接收者处理消息并发送仅由初始发送者接收的响应。

也许我错了,但有点像这样。

enter image description here

这似乎没有记录(仅使用 session 进行有序消息处理),而且我没有找到如何实现它。

有人对此有想法/经验吗?

我正在使用 .net core 3.1 和 microsoft azure servicebus 包 (4.1.2)

最佳答案

好吧,花了一些时间弄清楚,但我想我能够从图表中实现设置。

以下是可能对其他人有帮助的过程:

我有一个普通队列(PostNL 队列)和一个启用 session 的共享“应用程序”队列

  • 应用程序(例如 App1)使用 QueueClient 向 PostNL 队列发送消息并设置唯一的 SessionId
  • 接收方通过 QueueClient.RegisterMessageHandler 处理传入的消息
  • 接收方处理消息并使用 QueueClient.SendAsync 向应用程序队列发送回复(回复消息的 SessionId 设置为 UniqueSessionId)
  • 发送方使用 session = SessionClient.AcceptMessageSessionAsync("UniqueSessionId")
  • 发送者可以使用 session.ReceiveAsync 开始在此 session 中接收消息(监听应用程序队列的所有其他应用程序只要使用其他 session ID,就不会竞争这些回复消息)

关于Azure 服务总线请求回复模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62176660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com