Этот опрос сервера считается слишком агрессивным? - PullRequest
0 голосов
/ 13 марта 2019

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

  • 300 клиентам необходимо проверить данные с сервера в течение дня.
  • Данные каждого клиента будут доступны в разное неизвестное время.
  • Каждый клиент может загружать 5 КБ данных до 30 раз в день.
  • Важно, чтобы каждый клиент обнаружил свои доступные данные в течение 5 минут.

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

Я рассмотрел вопрос настройки 300 клиентов для опроса возможных данных каждые 3–5 минут. Каждый клиент может загружать 5 КБ данных до 30 раз в день. Они не будут загружать данные каждый опрос.

Предполагая, что пропускная способность и скорость не являются проблемой, и что я могу получить выделенный сервер с возможностью обновления;

  1. Считается ли 300 клиентов, одновременно подключающихся каждые 3–5 минут, агрессивным опросом?
    • 5КБ данных предполагается загружать до 30 раз в день на одного клиента.
  2. Является ли этот подход необоснованным в отношении сетевого и аппаратного ресурса?
  3. Есть ли лучший подход?

Спасибо за ваше время.

1 Ответ

1 голос
/ 13 марта 2019

Это совсем не агрессивно, 300 клиентов каждые 3–5 минут (при условии, что они равномерно распределены по времени) - это 1,6 запроса в секунду (3 минуты) или 1 запрос в секунду (5 минут), что ничего не значит в отношении

Учитывая, что вы передаете (в конечном итоге) 5 КБ данных на клиента, это не имеет большого значения для оборудования или создаст узкое место в любом месте.

Если нажатьесли сервер находится вне пределов видимости, то подход, который вы думаете придерживаться, вполне приемлем.

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

...