.net - Azure 响应队列管理

标签 .net azure architecture queue distributed

我计划使用 Microsoft 的一种模式在一组 Web 角色和一组辅助角色之间实现基于队列的通信:

enter image description here

我还不清楚如何管理响应队列。每个发送者(Web 角色)可能应该在消息中包含一个响应队列名称,以便当接收者之一处理该消息时,它仅向原始发送者发出信号。这很重要,因为 Web 角色与 ARR(粘性 session )进行平衡,并且它们使用 SignalR 将处理结果转发回用户浏览器。

我计划在 Web 角色实例开始使用计算机名称作为队列名称时创建响应队列。但由于自动缩放,我很快就会得到一组废弃的队列,不是吗?我可以实现类似队列池之类的东西,将其保留在 SQL DB 中并删除旧的,但我不喜欢这种额外的复杂性。有没有更简单的方法?

最佳答案

您是否考虑过使用Azure Service Bus Topics/Subscriptions

您可以将单个主题作为“响应队列”。然后,每个发件人(Web 角色)都可以使用自己的 set of subscription filters 订阅此主题。 (可能检查 Web 角色实例的名称)以接收针对它的响应消息。

它为您节省了维护多个响应队列的复杂性。

关于.net - Azure 响应队列管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40703438/

相关文章:

c# - 未经授权的访问异常 : Access to the path is denied

c# - 如何从 C# 中的单个完整路径创建多个目录?

带有应用服务 Web 应用的 Azure 应用程序网关

java - ETL设计: What Queue should I use instead of my SQL table and still be able to process in parallel?

ubuntu - 尝试在 Ubuntu 上使用 gcc 构建胖通用二进制文件时出错

c# - 你在 C# 中使用 "this"运算符吗?

c# - async 真的不应该用于高 CPU 任务吗?

c# - VSPerf 和 A​​zure 云服务

azure - Azure 中通配符 SSL 证书续订的最佳实践(已固定移动应用程序)

php - 一个人修改的小网站,PHP序列化存储数据好吗