Обмен сообщениями клиент-сервер-клиент с помощью Windows Azure

Предположим, что есть несколько клиентов, которые асинхронно отправляют сообщения для обработки в Azure Cloud. Сообщения помещаются в очередь и обрабатываются относительно быстро (несколько секунд для каждого). Я хочу отправить результат обработки НАЗАД на клиентский сервер.

Мне нужно добиться значительной производительности и высокой отказоустойчивости.

В каком направлении мне смотреть? Долгий опрос, поддержка соединений, singleR. Любые другие варианты? Спасибо за помощь.


person ohavryl    schedule 30.04.2013    source источник
comment
под клиентом вы подразумеваете браузерный клиент или, скажем, мобильное приложение?   -  person Leonardo    schedule 30.04.2013
comment
клиент в данном случае является веб-сервером   -  person ohavryl    schedule 30.04.2013
comment
У вас много клиентов или мало? Служебная шина — ваш вероятный кандидат на получение возвращаемой информации. Любой механизм организации очередей, вероятно, достаточен для начального механизма организации очередей. А пока прочитайте кое-что здесь: windowsazure.com/en-us/develop/net/how-to-guides/   -  person Jaxidian    schedule 30.04.2013
comment
Да, у меня большое количество клиентов. Я буду использовать служебную шину. Вопрос скорее о постбеке клиенту, чем об очередях. Я буду нажимать и извлекать сообщение из очереди, обрабатывать его, и мне нужно отправить обратный вызов клиенту, у которого для этой цели нет отдельного веб-сервиса. Я ищу лучшие практики для этого. Похоже, я могу использовать singleR, но я не использовал его раньше, поэтому я не уверен, что это лучший выбор.   -  person ohavryl    schedule 30.04.2013
comment
Если вы взаимодействуете между серверами, используйте темы и подписку Servicebus windowsazure.com/en-us/develop/net/how-to-guides/   -  person NavaRajan    schedule 01.05.2013
comment
Да, спасибо, это действительно то, что я использую.   -  person ohavryl    schedule 01.05.2013


Ответы (1)


Ну, ваша проблема довольно проста и может быть определена как «Как клиент может знать о ходе операции?»... и есть 2 метода:

  1. Клиент может либо постоянно проверять сервер на основе идентификатора операции (что-то вроде «Эй, сервер! Операция XHJHFB завершена?»), Что можно сделать с помощью простого javascript... или
  2. Вы можете использовать SignalR, чтобы сервер уведомлял клиента, когда операция...

Я рекомендую подход SignalR...

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

person Leonardo    schedule 30.04.2013