Я создаю веб-приложение на основе служб. Он состоит из одного основного приложения rails, предназначенного исключительно для обработки запросов, и множества других сервисов sinatra, работающих для фактической обработки этих запросов.
Я решил пойти с единорогом в качестве реального веб-сервера для моего приложения rails.
Моя дилемма состоит в том, чтобы выбрать правильный стек. Я прочитал несколько отличных обзоров о балансировке нагрузки HAProxy, и я думаю, что это верный путь в долгосрочной перспективе. С другой стороны, некоторые люди, которых я знаю, также говорят, что nginx будет достаточно хорош, если я использую его с единорогом.
На данный момент вся моя система будет находиться на одном сервере. В будущем на разных серверах могут размещаться разные службы.
Могу ли я ввести ненужные накладные расходы, введя haproxy? Как я действительно выиграю от использования HAproxy вместе с nginx?
Да, haproxy совершенно не нужен. Unicorn выполняет собственную «балансировку нагрузки» между своими рабочими. Когда вам нужно несколько машин, вы жестяная банка используйте haproxy, но я сильно предпочитаю решение L3, такое как IPVS.