У меня есть веб-сайт, размещенный в основном на EC2, с бэкэндами (MySql), реплицированными асинхронно в хранилище Rackspace. Я также планирую иметь набор веб-сервера, кеша и базы данных в режиме ожидания в Rackspace на случай, если Amazon выйдет из строя.
В этой перспективе есть ли решение, которое позволит мне переключаться между EC2 и Rackspace в зависимости от доступности?
Мы используем dnsmadeeasy для того же самого. В этом вам помогут мониторинг DNS и аварийное переключение. Для mysql вы можете настроить двухстороннюю или одностороннюю репликацию; двусторонняя репликация лучше, поскольку вам не нужно беспокоиться о репликации данных при обратном переключении. И все это можно без труда полностью автоматизировать.
Вам понадобится комбинация службы ping (или того, что вам нужно для оценки сбоя), а затем недолговечных записей DNS и API для изменения DNS.
Вы можете поддержать другой ящик, используя Сердцебиение как балансировщик нагрузки. Если вы действительно хотите, вы можете разместить на Amazon и Rackspace избыточные блоки периодических сообщений, это обеспечит работу вашего балансировщика нагрузки, даже если одна из служб выйдет из строя. Вы можете легко настроить Heartbeat для направления всего трафика на Amazon, если серверы там не вышли из строя.
Если вы просто хотите, чтобы он находился в режиме ожидания, я полагаю, вы можете выполнить это достаточно хорошо (в зависимости от ваших требований к времени безотказной работы), используя DNS. Просто укажите в домене новый IP-адрес, когда потребуется изменение. Но я знаю, что это руководство.
За исключением этого, существуют балансировщики нагрузки корпоративного уровня, которые могут делать то же самое, я видел некоторые из них в нескольких клиентских средах, но никогда не для аварийного переключения, в основном это географические или основанные на производительности решения для каждого пользователя, на котором центр обработки данных будет обслуживать указанного пользователя. Тем не менее, я знаю, что вы можете настроить балансировку нагрузки для каждого хоста для работы разными способами на большинстве устройств, включая активный / пассивный (аварийное переключение), поэтому я уверен, что то же самое можно сделать, но с точки зрения того, какой сайт, а не какой хост. Я намеренно избегаю рекомендовать какой-либо один / несколько брендов из-за потенциального ощущения конфликта интересов на работе.
Альтернативой может быть использование CDN, если на это есть бюджет. Я не могу говорить за других, но я работал с Akamai для совместных клиентов, и у них есть служба аварийного переключения сайтов, которая может вам пригодиться. Проверять, выписываться http://www.akamai.com/html/technology/products/site_failover.html для примера