Не существует «правильного» пути.Это полностью зависит от потребностей вашего клиента и возможностей вашего сервера.Если клиент нуждается в своевременном обновлении, отправляйте данные с вашего сервера клиенту всякий раз, когда на сервере появляются новые данные.Если клиент должен обновляться только время от времени, то отправляйте ему данные только время от времени.Нет «правильного» пути.Это зависит от вашего приложения.
Всегда эффективнее отправлять данные клиенту только тогда, когда данные действительно изменились и когда клиент действительно заботится о том, что что-то изменилось.Поэтому было бы глупо отправлять клиентское обновление каждые несколько секунд, если данные не так часто меняются.Если у вас есть способ узнать, когда данные изменяются на сервере, используйте это событие, чтобы узнать, когда отправлять данные клиенту, и даже в этом случае не отправляйте его чаще, чем на самом деле хочет знать клиент.
Всегда эффективнее, чтобы сервер выполнял не больше работы, чем фактически требуется клиенту.Такие вещи, как кэширование и отслеживание того, что каждый клиент был отправлен последним, иногда могут сэкономить много работы и для сервера.
Любой дальнейший совет по этому вопросу должен знать гораздо больше о потребностях вашего приложения икак эти конкретные данные вписываются в это и как часто эти данные действительно меняются.
Резюме по этой теме:
- Отправляйте данные клиенту не чаще, чем это необходимо
- Отправка данных на клиент, который не изменился с момента последнего изменения, неэффективен для сервера и потребляет пропускную способность.
- Только вы можете решить, как часто ваш клиент нуждается в обновлениях (это зависитна ваше приложение)
- Только вы можете проверить влияние на масштабируемость отправки данных каждому клиенту при каждом изменении данных.
- Кэширование на стороне сервера и отслеживание того, какие данные уже есть у клиентаможет помочь вам избежать отправки данных клиенту, который у него уже есть.
- Масштабируемость на стороне серверавероятно, во многом связано с тем, сколько одновременных клиентов подключено и как часто меняются данные для их отправки.