Azure辅助角色+消息队列消费者数量

标签 azure azure-worker-roles azureservicebus azure-servicebus-queues

我试图了解以 azure 辅助角色托管消息队列消费者时的最佳实践。我有许多不同类型的消息使用者,它们订阅不同的 Azure 服务总线订阅(或者队列,如果您喜欢称之为队列)。我想知道是否应该在一个工作角色中为每个消费者实例化多个线程,或者应该为每个消费者部署到多个工作角色。

最佳答案

这实际上取决于您的应用和工作负载。如果您有 I/O 阻塞的任务,那么您应该运行多个线程;否则,您将拥有一个无法有效使用的虚拟机实例。如果它主要基于 CPU,您可能会发现可以使用较少数量的线程高效运行。

只有当您无法处理单个实例的容量(或者您需要高可用性,其中您至少需要两个实例)时,您才应该扩展工作线程实例。请记住,辅助角色实例是一个完整的虚拟机,因此为每个队列使用者添加一个虚拟机会增加成本,并且您仍然可能看不到 I/O 密集型应用程序(或阻塞其他事物的应用程序,例如Web 服务调用)。

您需要做一些实验来了解工作端可以使用多少个线程。

关于Azure辅助角色+消息队列消费者数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20159648/

相关文章:

azure - Azure 服务总线订阅中的主题订阅状态是什么?

Azure 逻辑 - 错误网关

signalR(协商函数)的 Azure 函数绑定(bind)错误(500 错误代码)

azure - 无法创建架构扩展

c# - 如何在本地/内部托管 Azure 辅助角色?

c# - 如何从 Azure 角色内部检测当前订阅 ID?

asp.net-mvc-2 - Azure:如何从 MVC 实现的 Controller 调用 WebRole 方法

c# - 在 EventStore/EventHub 中序列化/反序列化消息

azure - 重新部署辅助角色不应更改虚拟机

c# - 在 Azure 中从哪里获取 IssuerName 和 IssuerKey