当前位置: 首页 > 知识库问答 >
问题:

Azure工作者角色+消息队列使用者的数量

严玉泽
2023-03-14

我试图理解当以azure工作者角色托管消息队列使用者时的最佳实践。我有许多不同类型消息使用者,它们订阅不同的azure服务总线订阅(或者队列,如果您愿意这样称呼的话)。我想知道是应该在一个Worker角色中为每个使用者实例化多个线程,还是应该为每个使用者部署多个Worker角色。

共有1个答案

章烨烨
2023-03-14

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

只有当无法处理单个实例中的容量时(或者如果需要高可用性,至少需要两个实例),才应该扩展worker实例。只需记住,一个工作者角色实例是一个完整的VM,因此为每个队列使用者添加一个VM会降低成本,并且您可能在一个I/O绑定的应用程序(或者阻止其他事情(如Web服务调用)中看不到很大的吞吐量。

您需要做一些实验,看看在工作者端要处理多少线程。

 类似资料:
  • 我找不到Nuget包的Windows服务版本。 有人知道它叫什么吗(如果它存在的话)?

  • 问题内容: 我想创建某种线程应用程序。但是我不确定在两者之间实现队列的最佳方法是什么。 因此,我提出了两个想法(这两个想法可能都是完全错误的)。我想知道哪种更好,如果它们都烂了,那么实现队列的最佳方法是什么。我关心的主要是这些示例中队列的实现。我正在扩展一个内部类的Queue类,它是线程安全的。下面是两个示例,每个示例有4个类。 主班 消费阶层 生产者类别 队列类 要么 主班 消费阶层 生产者类别

  • 我们使用activemq作为Java独立应用程序的消息队列。我的问题是,基于activemq web控制台,队列有一定数量的消息排队和出列。但是,根据我在代码中添加的sysout语句,应用程序消耗的消息数似乎少于activemq web控制台上显示的消息数。例如,在activemq控制台上,没有。排队和出列的消息约为1800条。但是,在控制台上显示的出列消息数(我每接收一条消息就增加一个计数器)只

  • 问题内容: 我正在创建一个云服务,其中有一个工作人员角色在后台运行一些繁重的处理,为此,我希望Redis实例在该工作人员本地运行。 我要做的是以部署工作人员时安装/配置Redis实例的方式设置工作人员角色项目。 Redis数据库将在每次作业启动时清除。 我已经看过了MSOpenTech的Redis用的NuGet安装Windows,但我不能确定我怎么会得上的工人角色实例这个工作。是否有聪明的方法来设

  • 我们有一个用例,其中我们只创建一个消费者来处理队列中的消息。消息处理器在确认之前积累一定数量的消息。以异步方式接收消息并使用事务会话。消息的大小非常小。 在一定数量的消息之后,主动MQ停止向唯一的消费者发送进一步的消息,并等待确认。我们尝试过像consumer.prefetchSize,consumer . maximumpendingmessagelimit;但是什么都不管用。我们用一个只有一个

  • ActiveMQ消息组是跨多个使用者进行负载平衡的一个非常好的特性。简而言之:消息流根据消息中嵌入的组标识符()在单个队列的多个使用者之间进行分区。(因此,使用者1将获得的所有消息,使用者2将获得的所有消息,依此类推) 现在,假设您有两个队列:和,并假设在流经这两个队列的消息中使用一致的S分类法。代理为on queue选择的使用者是否与代理为on queue选择的连接相同? 但是,我们能模拟这种行