2016-09-23 4 views
1

У меня есть приложение node.js, развернутое на бесплатном веб-сервере Dyno, работающем на Heroku. Планируя сделать это, мне нужно подумать об избыточности и отказоустойчивом решении по разумной цене.Решение для резервирования сервера (failover) для приложения Heroku

Когда я запустил «Prodiction Check» на приборной панели Heroku, он дал мне список вещей, которые нужно сделать для производства. Одна из вещей - «избыточность Dyno», для которой я должен иметь как минимум 2 веб-динамика для перехода на другой ресурс. Означает ли это, что я должен обновить свой Free Dyno до Hobby или Standart 1X, и мне также нужно иметь два динамика того же типа, например. два динамических хоста или два стандартных 1X-динамика?

Как Heroku обрабатывает переход из одного Dyno в другой?

Спасибо!

ответ

1

Heroku делится трафиком между всеми доступными динозаврами, распределяя запросы с использованием random assignment algorithm. Таким образом, все ваши динамики всегда будут обслуживать входящий трафик.

Это обеспечивает избыточность, а не переход на другой ресурс. Если один динозатор задерживается на очень медленном запросе, приложение все равно будет доступно через другие динамики.

Отказоустойчивость отличается. В случае сбоя приложения (скажем, база данных недоступна) маршрутизатор Heroku мало помогает. Чтобы справиться с более объемными рабочими нагрузками, вы можете использовать Amazon Route 53's DNS-level failover, который запускает проверку работоспособности с бэкэнд и перенаправляет доменное имя в случае сбоя Heroku.

Однако для многих прецедентов достаточно, чтобы просто предложить дружественную настраиваемую страницу ошибок HTTP 503, которую вы можете настроить в Heroku, чтобы пользователи остались довольны во время сбоя.