Опрашивать или не опрашивать (в контексте веб-сервисов)
-
22-07-2019 - |
Вопрос
Мы можем использовать опрос, чтобы узнать об обновлениях из какого-либо источника, например, клиентов, подключенных к веб-серверу. WCF предоставляет отличную функцию в виде дуплексных контрактов, в которой я могу поддерживать соединение с клиентом и по своему усмотрению вызывать это соединение. Некоторые сотрудники обсуждали достоинства обоих решений, и я хотел узнать, когда лучше использовать каждую стратегию.
Решение
Я бы использовал механизм, основанный на событиях, вместо опроса. В WCF вы можете легко сделать это, следуя платформе «Публикация-подписка», которую Джувал Лоуи предоставляет на своем веб-сайте, IDesign.net . Р>
Другие советы
Частично зависит от того, сколько у вас пользователей.
Скажем, у вас есть 1 000 000 пользователей, у вас будут проблемы с обслуживанием такого количества сеансов.
Но если ваша система может отвечать на 1000 запросов опроса в секунду, то каждый клиент может опрашивать каждые 1000 секунд.
Я думаю, что Шираз прибил это, но я хотел сказать еще две вещи.
<Ол>Если это имеет смысл для вашего решения (это уместно только в определенных ситуации), привязка MSMQ позволяет клиент для отправки данных в сервис асинхронным образом (например, дуплекс), но услуга не является "опросом" за сообщения ... он получает уведомление, когда один входит в очередь через несколько под-укрытие сантехники. Р>
Такого рода силы заставляют вас общение вокруг (клиент становится сервер, сервер становится клиентом), но если большинство общения односторонний, это обеспечило бы много преимуществ. Другое преимущество здесь, очевидно, в очереди связь - сервер может быть вниз и не пропустите ни одного сообщения ... он заберет их, когда вернется в Интернете.
О чем подумать.