(Windows Azure) Очереди сообщений - события на нескольких машинах - PullRequest
3 голосов
/ 27 июля 2011

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

Чтобы дать некоторый контекст, это веб-приложение, которое использует реализацию Comet для передачи изменений клиентам. Из-за требований к масштабируемости он должен функционировать в распределенной среде. Это означает, что клиенты могут быть подключены к разным физическим машинам.

Когда пользователь вносит определенное изменение, его необходимо передать другим пользователям.

Используя очередь сообщений, все экземпляры ролей должны будут заглянуть в сообщение, но нет способа узнать, сколько ролей смотрело на сообщение, поэтому неясно, когда удалять очередь. Я мог бы реализовать что-то в строке подсчета количества ролей и увеличивать счетчик каждый раз, когда кто-то заглядывает. Есть ли какая-то реализация по умолчанию для этого, и я иду на это правильным путем?

Ответы [ 2 ]

3 голосов
/ 27 июля 2011

Я думаю, что очередь, предоставляемая служебной шиной Azure AppFabric, лучше подходит для этого сценария.Функцией очереди сообщений в настоящее время является только CTP, поэтому, если вы можете жить с этим некоторое время, пока он не будет готов к производству, я бы посмотрел на это.Смотри http://vasters.com/clemensv/2011/05/16/Introducing+The+Windows+Azure+AppFabric+Service+Bus+May+2011+CTP.aspx

1 голос
/ 28 июля 2011

Я бы предложил не использовать для этого очереди Azure, потому что они просто не будут работать хорошо.На мой взгляд, правильный способ сделать это - использовать очереди AppFabric.

Я написал о них ( краткое введение в очереди AppFabric ) в моем блоге, и он также охватывает то, что я вам верюнужно: Подписки .Чтобы дать вам некоторый контекст, скажем, у нас есть два розничных магазина, склад и приложение для аудита.Мы создадим тему (для продажи) и две подписки, одна будет приложением хранилища, а другая будет приложением аудита.

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

Последнее замечание для AppFabric - это цены, в настоящее время цены основаны на соединениях , поэтому за каждое открытое соединение с AppFabric взимается определеннаясумма в месяц (расчет счетов сложен до чертиков).Тем не менее, я точно знаю, что они изменят это на что-то гораздо более понятное / логичное, но не имеют более подробной информации, чем это.

В заключение, посмотрите на очереди AppFabric, они должны предоставить недостающие функциональные возможности.

...