具有不同配置的Azure工作器实例

时间:2012-01-23 03:37:44

标签: azure scaling


我有下一个情况:
1)N名工人,所有工人做同样的事情
2)每个工作者都有与第三方服务的持久套接字连接,因此一个连接应该由一个工作实例提供服务

我的问题:如何实施工作人员以获取一个连接,并让其他工作人员知道已经建立了与第三方服务的连接?

目前我是通过队列实现的,所以另一个工作人员(比如说缩放工作人员)将消息放入队列,这些消息由工人逐个获取。

有没有更好的解决方案?

2 个答案:

答案 0 :(得分:0)

您可以通过WCF和端点或Azure AppFabric消息传递总线实现角色间通信。在这里查看有关如何执行此操作的教程http://msdn.microsoft.com/en-us/library/windowsazure/ee706736.aspx

答案 1 :(得分:0)

一种技术是获取blob上的租约,因为在任何给定时间只有一个编写者可以获得租约。模式类似于:

  • 尝试获得租约
  • 如果成功,请打开连接
  • 如果不成功,请睡一段时间再试一次

此模式也可用于创建数据库服务器,该服务器在Azure驱动器上打开数据文件,并在两个实例中运行(一个实例获取租约并运行服务器;另一个实例无法获取租约并定期运行重试)。