Мы намерены запустить несколько компонентов для запуска веб-сайта. Как балансировщик нагрузки, кеш и пара веб-сервисов. Чтобы избежать единой точки отказа, мы намеревались использовать Heartbeat / Corosync / Pacemaker и вместо одного балансировщика нагрузки просто запустить два из них. Теперь у нас есть разные варианты их настройки, и я хотел бы услышать ваше мнение, какой из них работает лучше:
Запускайте пары серверов в разных кластерах. Например. loadbalancer1 и loadbalancer2. Таким образом, у нас не будет двух нескольких серверов для достижения кворума в случае отказа одного из серверов. Мы могли бы отключить функцию кворума, но рискуем раздвоить мозг. Звучит не идеально, но конфигурация ясна и проста, и, вероятно, она просто сработает.
Запускайте тройки серверов в разных кластерах. Как "loadbalancer1", "loadbalancer2" и "loadbalancer-quorum". Таким образом, у нас есть дополнительный сервер, который в остальном ничего не делает, но, по крайней мере, мы можем достичь кворума в случае сбоя.
Запустите все серверы в одном кластере. Таким образом, кластер будет состоять из «loadbalancer1», «loadbalancer2», «cache1» и «cache2». Затем мы могли бы использовать ограничения, чтобы убедиться, что программное обеспечение балансировки нагрузки работает только на «loadbalancer1» или «loadbalancer2», а программное обеспечение кеширования работает только на «cache1» или «cache2». Могу представить, что это сбивает с толку. Но у нас было бы достаточно серверов, чтобы всегда был кворум.
У вас есть опыт работы с такой установкой? Что нам делать?
В основном это личное предпочтение, но я бы предложил 3 как: