Успешно писалось нечто с подобным функционалом на python+asyncio/aiohttp (выше уже упоминали) и на go. Последний весьма рекомендую. На мой сугубо личный взгляд реализация таких задач на go суть есть некий баланс между удобством написания кода и производительностью/надежностью (как например между python и erlang).