Azure: это будет работать для моего приложения? - PullRequest
1 голос
/ 06 мая 2009

Я создаю приложение, которое хочу поместить в облако. Это приложение имеет одну основную функцию.

Он размещает сеансы CLIENT для сокетов от имени других пользователей (например, Beejive IM для iPhone, где он размещает сеансы IM для клиентов, чтобы поддерживать состояние в этих сетях IM, позволяя клиенту подключаться / отключаться по желанию, не нарушая Подключение к сети IM).

Теперь, как я и планировал, так это то, что один «рабочий экземпляр» может обрабатывать только конечное число клиентских сессий (скажем, 50 000 для аргументации). Эти сессии будут очень долгоживущими рабочими задачами.

Проблема, с которой я пытаюсь разобраться, заключается в том, что мне иногда нужно будет выполнять задачи для определенных клиентских сеансов (например: если мне нужно отключить клиентский сеанс). С Azure смогу ли я поставить в очередь меньшую задачу, которую сможет снять в очередь только экземпляр, на котором размещен этот конкретный сеанс клиента?

Сейчас я рассматриваю GoGrid в качестве своего провайдера и решаю эту проблему с помощью программного обеспечения Apache Active Messaging Queue. Мое веб-приложение ставит в очередь задачи «отключить», которые назначены определенному идентификатору экземпляра. Поэтому каждому клиентскому сеансу присваивается определенный идентификатор экземпляра. В этом случае экземпляр отменяет только назначенные ему задачи «отключить».

Мне интересно, возможно ли сделать что-то подобное на Azure, и как я обычно это делаю. Мне нравится идея не настраивать много разных виртуальных машин для масштабирования, а просто развертывать один пакет. Кроме того, было бы неплохо использовать очереди Azure вместо интеграции стороннего продукта, такого как Apache ActiveMQ или даже MSMQ.

Ответы [ 3 ]

1 голос
/ 06 мая 2009

Я буду очень обеспокоен созданием производственного приложения в Azure, пока не будут окончательно определены набор функций, цены и условия лицензирования. Для начала, вы даже не можете сделать сравнение затрат между ним и, например, GoGrid или EC2 или Моссо. Так что я не понимаю, как это могло бы закончиться лидером. Кроме того, мы знаем, что все эти системы будут иметь глюки по мере взросления. Сервисы Amazon используются гораздо шире, чем любые другие, и были общедоступными в течение многих лет. ИМХО выбор Azure - это рецепт боли, когда они стабилизируются.

Рассматривали ли вы Простая служба очередей Amazon для очередей?

0 голосов
/ 04 июня 2009

Что касается приложения, в котором размещаются соединения с сокетами для подключения клиентов, я бы дважды проверил, что разрешено, так как я думаю, что с Azure разрешено устанавливать только соединения HTTP и HTTPS.

0 голосов
/ 06 мая 2009

Я думаю, что вы можете использовать Windows Azure для этого. Я рекомендую создать очередь для каждого отслеживаемого сеанса. Затем поместите сообщение о разъединении (например) в очередь для этого сеанса. Рабочий экземпляр, который обрабатывает это соединение, должен быть единственным опросом в очереди, поэтому он должен обрабатывать выполнение задачи для этого соединения.

...