Рабочие экземпляры Azure с разными конфигурациями - PullRequest
0 голосов
/ 23 января 2012


У меня следующая ситуация:
1) N рабочих, все рабочие делают то же самое
2) Каждый работник имеет постоянное сокетное соединение со сторонней службой, поэтому одно соединение работника должно обслуживать одно соединение.

Мой вопрос: как внедрить работников для захвата одного соединения и дать возможность другим работникам узнать, что соединение со сторонним сервисным сервисом уже установлено?

В настоящее время я реализовал это по очереди, поэтому другой работник (скажем, масштабирующий работник) помещает сообщение в очередь, и эти сообщения извлекаются один за другим рабочими.

Есть ли лучшее решение?

Ответы [ 2 ]

0 голосов
/ 23 января 2012

Один из методов заключается в получении аренды для большого двоичного объекта, поскольку только один автор может получить аренду в любой момент времени. Шаблон будет что-то вроде:

  • Попытка получить аренду
  • В случае успеха откройте соединение
  • Если неудачно, поспать некоторое время и повторить попытку

Этот шаблон также используется, когда, скажем, создается сервер базы данных, который открывает файлы данных на диске Azure и работает в двух экземплярах (один экземпляр получает аренду и запускает сервер; другому не удается получить аренду и периодически повторы).

0 голосов
/ 23 января 2012

Вы можете реализовать взаимодействие между ролями через WCF и конечные точки или шину обмена сообщениями Azure AppFabric. Прочтите учебник о том, как это сделать, http://msdn.microsoft.com/en-us/library/windowsazure/ee706736.aspx.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...