Как работают приложения реального времени?
Инициатива не на той стороне:
не клиент должен запрашивать снова и снова «есть чё?»,
а сервер, когда что-то происходит-появляется, в этом же событии пусть толкает сообщение заинтересованным получателям.

Один из вариантов решения — упомянутые в других ответах веб-сокеты.

Приложения реального времени используют «событийную» архитектуру. В обе стороны.
На сервере: появилась новость – это событие, есть его обработчики (вызвалась функция), где это сообщение рассылают тем, кто сейчас на связи (установлено WebSocket соединение), и подписывался на события такого типа.
На клиенте: нажали вдруг кнопку лайк! – слушатель-обработчик этого события (функция) отправил сообщение на сервер, мол под таким-то постом юзер Ю поставил лайк.
Либо вебсокеты,  либо еще есть longpoll запросы. Но второй вариант только на случай если вебсокеты не работают у клиента