Это делается с использованием модели PUSH (подписка / публикация).
Клиентская сторона сначала подписывается, выполняя запрос AJAX. Этот запрос AJAX остается в живых до бесконечности. Когда сервер получает новый лайк / комментарий, он публикует это обновление на стороне клиента, тем самым заканчивая запрос AJAX. Клиент получает это обновление и отправляет другой AJAX-запрос.
Широко классифицируется как Комета .
Однажды я реализовал приложение для веб-чата Comet и написал несколько технических описаний того, что с ним произошло. Вы можете прочитать это здесь, если интересно.
Приложение веб-чата Comet
Edit:
Механизм сердцебиения (модель PULL) определенно проще реализовать, но модель PUSH гораздо более эффективна.