2012-01-23 50 views
0


我旁邊的情況:
1)N工人,所有工人做同樣的事情
2)每個工人有持續性套接字連接到第三方服務,所以一個連接應由一個工人實例提供服務
不同配置Azure的工人實例

我的問題:如何實現工人提取一個連接,並讓其他工作人員知道與第三方的連接已經建立?

當前我通過隊列實現了這個功能,所以另一個工作人員(可以說比例工作人員)將消息放入隊列中,並且這些消息由工作人員逐個提取。

有沒有更好的解決方案?

回答

0

一種技術是獲得blob的租約,因爲只有一個作者可以在任何給定的時間擁有租約。該模式將是這樣的:

  • 試圖獲得租約
  • 如果成功的話,打開連接
  • 如果不成功,睡一段時間,然後再試一次

這種模式也是當創建一個在Azure驅動器上打開數據文件的數據庫服務器並在兩個實例中運行時(一個實例獲取租約並運行服務器;另一個實例無法獲取租約並定期重試)時使用。

+0

這與我目前的認識非常相似,但由其中一名工人(縮放)爲其他工作人員發放租約。我認爲brocker會是更好的解決方案,但無論如何謝謝 – sashok2k