我试图了解在azure worker角色中托管消息队列使用者时的最佳实践。我有许多不同类型的消息使用者订阅不同的azure服务总线订阅(如果你想调用它,则排队)。我想知道是否应该为一个辅助角色中的每个使用者实例化多个线程,或者我应该为每个使用者部署多个辅助角色。
答案 0 :(得分:2)
这实际上取决于您的应用和工作量。如果您有I / O阻塞的任务,那么您应该运行多个线程;否则,您将拥有一个未被有效使用的虚拟机实例。如果它主要是基于CPU的,你可能会发现你可以用较少的线程来有效地运行。
如果您无法在单个实例中处理容量(或者如果您需要高可用性,您需要至少两个实例),则应该只扩展您的工作实例。请记住,一个辅助角色实例是一个完整的虚拟机,因此每个队列消费者添加一个虚拟机会降低成本,并且您仍然可能看不到I / O绑定应用程序中的大吞吐量(或者阻止其他内容如网络服务电话)。
您需要进行一些实验,以了解在工作方面可以使用的线程数。