Я разрабатываю веб-приложение, которое включает в себя функцию уведомления "как в Facebook" (не веб-push-уведомление). Я хочу, чтобы уведомления обновлялись каждые несколько секунд.
Я понимаю разницу между обычным вызовом Ajax, который клиент будет делать каждые несколько секунд на сервер, и WebSocket \ SignalR, который установит соединение, которое останется открытым (?), И сервер будет передавать данные клиенту, когда это необходимо, поэтому клиенту не нужно будет делать новый HTTP-вызов каждые несколько секунд, даже когда это не нужно.
Так что я спрашиваю?
Допустим, мой сайт будет обслуживать много клиентов и меня устраивает, что данные уведомлений будут обновляться с задержкой в несколько секунд. реалтайм тут не нужен.
Мне интересно, лучше ли все же использовать WebSocket (SignalR), и в качестве побочного эффекта серверу нужно будет управлять таким количеством открытых подключений, которые будут потреблять много памяти и ресурсов ЦП для некоторых клиентов, которым может потребоваться получать уведомления. Насколько я понимаю, SignalR \ Websockets - это постоянство.
OR
Может быть, лучше делать вызов Ajax каждые несколько секунд, чтобы проверить, есть ли обновленные данные. таким образом, серверу не нужно будет постоянно управлять всеми соединениями, а только соединениями некоторых клиентов каждые несколько секунд.
Мне также интересно, есть ли ограничение или плохой побочный эффект при использовании SignalR \ WebSocket с точки зрения количества активных подключений.