2013-11-01 3 views
1

Предположим, у меня есть большое приложение, обрабатывающее значимое количество соединений веб-соединений на Heroku. Чтобы справиться с таким большим спросом, число динамиков увеличивается до N.Масштабирование веб-сайтов на Heroku и Node.js

Как маршрутизатор Heroku собирается распространять новое соединение входящих веб-соединений между работающими динамиками?

Другими словами, если один из диносов максимизирован в соединениях с веб-соединениями, маршрутизатор Heroku будет отклонять все новые входящие запросы между другими (предположительно) менее занятыми динамиками? Или он все еще собирается использовать случайное задание as stated in the documentation for http incoming connections?

Это определенно имеет смысл, поскольку соединения с веб-соединениями являются http-соединениями в самом первом экземпляре. Однако было бы довольно сложно масштабировать большое количество постоянных соединений равномерно между N работающими динамиками.

Никто не подтверждает?

ответ

1

Страница, на которую вы ссылаетесь, говорит: «Маршрутизаторы используют алгоритм случайного выбора для балансировки нагрузки HTTP-запросов через веб-диноды». Это кажется однозначным. Обратите внимание, что Heroku столкнулся с проблемой Rap Genius именно по этой проблеме, хотя это было со старым стеклом Bamboo.

В общем, добавив динозавзы, вы должны быть в состоянии избежать перегрузки любого одного динозавра, поскольку на каждом дополнительном подключении веб-сайты фактически не используют дополнительную ОЗУ. В худшем случае, занятые динозавры должны просто страдать от более высокой задержки.

Смежные вопросы