如何向所有工作者角色实例发送消息?

cil*_*ler 3 azure azure-storage-queues

我使用AzureQueue在角色之间进行通信.我的消息如"GoToMaintenanceMode","StopSendingEmails","DoNotAcceptRequests"等.但我意识到,当我有多个实例时,由于队列消息,它将无法用于我的场景,一次只显示1个实例.

所以我的问题是旁边的选项是否有一个优雅的方式来处理像Role.AllInstances.Run()等问题?

我正在使用它的方法: 实例查看消息,将它自己的实例id添加到消息中并将其放回队列,如果消息包含它自己的实例id,则不会查看消息.

PS我不想实现TCP侦听器,如果有的话请求原生解决方案.

Mik*_*win 10

您可以使用Windows Azure Service Bus主题/订阅而不是队列.它们支持多播(即多个接收器).

这里有一个简短的操作指南

http://www.windowsazure.com/en-us/develop/net/how-to-guides/service-bus-topics/

基本上,您的队列将成为主题,您的所有实例都将成为主题的订阅者.