Первоначально я думал об этом, чтобы во внешнем интерфейсе был сервер / обратный прокси-сервер Nginx, в то время как на задней панели было несколько экземпляров Tornado, это может быть экземпляр Tornado для каждого процесса, попробуйте выполнить некоторое тестирование на вашей машине, чтобы увидеть, сколько запущенных экземпляров Tornado в разных процессах может обрабатывать машина, когда вы заметите снижение производительности, начните делать то же самое на другой машине.
Nginx будет округлять все серверы, которые вам нужны, чтобы распределить нагрузку по серверам / экземплярам с длительным опросом / Tornado.
Не совсем уверен, как rabbitmq будет полезен в этом случае.