Опрос всегда приемлем, когда в реальном времени нет необходимости. Вы должны спросить себя, почему вы используете один вместо другого?
Цель услуги push - пара вещей; для вас может быть значительно меньше трафика, если ваши пуски являются широковещательными, а сторонний провайдер выполняет широковещательную рассылку - это позволяет вам отправлять одно сообщение и получать его тысячи. Но, как вы заметили, самым большим преимуществом push-сервисов является характер в реальном времени, который позволяет немедленно получать обновления для ваших потребителей. Однако при выполнении push-уведомлений вы действительно никогда не захотите отправлять большие наборы данных, если вещаете, и вы также зависите от сторонней push-службы, которую вы используете (если используете).
Целью опроса является периодическая проверка различий в данных, где период обновления может иметь приемлемый SLA с неточностью вплоть до определенного периода времени. Опрос потребует, чтобы все ваши клиенты периодически запрашивали данные, что будет означать, что соединение запрашивается для каждого работающего клиента, а также необходимость в оперативном сервисе, способном точно отслеживать эти данные, чтобы предоставлять их опрашивающим. Наличие точных данных для обслуживания означает некоторую сохранность данных, что займет время на диске и время обслуживания.
Таким образом, из этого видно, что если у вас есть проблемы с сетевым трафиком или обслуживанием службы (что означает, возможно, аутентификацию / авторизацию запросов, запись их в журнал, занимающую дисковое пространство, все обычные требования для обслуживания службы), то вы не ' Не хочу заставлять клиентов опрашивать. Однако, если в случае использования требуется передача особенно большого набора данных, или вы не можете быть привязаны к API стороннего производителя, который может изменяться во времени, а также к их SLA или платам, тогда может применяться домашняя система опросов, хотя обслуживание накладных расходов может быть значительно больше. В качестве альтернативы вы, возможно, уже работаете с сервисом и сохраняете данные так, что опрос является легким дополнением к уже имеющейся инфраструктуре, что делает опрос более желательным.
Хотя к центральной точке вы делаете, вы правы; если в режиме реального времени необходимо , опрос не будет делать. Если это не так, то вам просто нужно посчитать, как периодически можно проверять данные, умноженные на вашу клиентскую базу, умноженную на размер вашего набора данных, чтобы решить, будет ли стоить сетевая стоимость, или будет ли услуга push было бы лучше, если бы вы всегда могли просто выдвинуть событие изменения, которое позволит им запрашивать большой набор данных на втором этапе (хотя атомарность этих этапов может быть чем-то, что вам необходимо соблюдать в зависимости от критичности данных).