У вас же браузер есть. Заходим на vk.com и видим, что, например, в Опере, шлются long-polling запросы на qNN.queue.vk.com/im305, куда посылается id пользователя, хитрый ключ, временные метки, в ответ приходит код вида ([{«ts»:«1567120607»,«events»:[]}
Очевидно, у них развернута сеть серверов, на которых висят демоны, не знаю, на какой технологии, может Си, может Node.JS, может еще что-то, которые, с одной стороны, принимают запросы от клиентов, с другой стороны, получают уведомления.
Думаю, в коде проще всего при каком-то событии (например, отправка сообщения/добавление в друзья) параллельно этому демону посылается уведомление, и он ретранслирует это обновление заинтересованным пользователям.
Если бы мне нужен был такой демон, я бы взял для разработки язык D и библиотеку libev.
Но вы можете попробовать такой демон на PHP написать, я думаю, 10-20 одновременных пользователей он точно выдержит. Или можете взять уже готовый демон — PHP Multiplexor или как-то так, от DKLab.