На этот вопрос уже есть ответ здесь:
У нас есть довольно большие сайты LAMP, которые хорошо масштабируются с точки зрения программного обеспечения. Мы используем избыточные балансировщики нагрузки перед кучей веб-серверов, использующих MySQL через прокси-сервер в режиме master-slave-slave-slave.
Мы пользуемся услугами очень крупного американского провайдера. Они не очень дешевые, но и не самые дорогие.
На прошлой неделе в их сети произошла очень большая DDOS-атака, и это затронуло наш кластер; мы ненадолго потеряли сеть, что привело к простою.
Какова стандартная процедура использования двух провайдеров (например, одного в ЕС и одного в США)? Я знаю, как делать репликацию программного обеспечения и т. Д.
Мне интересно, как данные отправляются в сеть ЕС, когда сеть США не работает; DNS - единственный выбор для этого? И если да, то как это настроить? Потому что переключение DNS, когда сервер не работает, кажется слишком медленным, за исключением случаев, когда TTL = 0, что означает, что мы будем использовать DNS в качестве системы аварийного переключения. Я понимаю (например, из Serverfault), что это не лучший метод работы.
Каков предпочтительный метод решения этой проблемы с почти 100% -ным временем безотказной работы (в нашем кластере он уже есть, а в сети нет). Отбросить около 1000 запросов было бы хорошо, но больше - плохо и никогда не должно происходить.
Принятие меня понимает Ваш вопрос правильно, Вы хотите сделать, чтобы Ваш клиент заменил к вторичному дата-центру, если основное устройство снижается по любой причине. Одним продуктом, который может обработать это, является менеджер по Суммарному трафику большого IP из f5 Сетей. По существу это собирается сразу обновить Ваш DNS, когда отключение электричества обнаруживается, чтобы начать перенаправлять клиенты к вторичной сети.
Другая опция может состоять в том, чтобы использовать, чему-то нравится, когда Передача любому из узлов широковещательно передает маршруты к Вашим дата-центрам.
Для прибавления к этому вопросу мы действительно действуем в нескольких дата-центрах и в конце, решил, что оптимальный маршрут был, чтобы инженер вручную переместил указатели DNS на альтернативное словосочетание в зависимости от причины отключения электричества. Худший вариант развития событий - то, что мы можем снизиться на 1 час, если один дата-центр абсолютно в режиме офлайн. Однако это взвешено против влияния клиента, когда мы действительно должны будем переключить дата-центры (недавнее действие не будет доступно в альтернативном месте).
Одна заключительная опция не состоит в том, чтобы полагаться на Ваш дата-центр, обеспечивают, чтобы дать Вам возможность соединения IP и пропускную способность. Вместо этого говорите с глобальным поставщиком IP как Глобальное Пересечение или Уровень 3 и позвольте им обработать маршрутизацию Вашего входящего трафика к любому дата-центру. Риск состоит в том, что Вы работаете с единственным поставщиком, но преимущество - то, что они могут быть намного более гибкими в своих параметрах маршрутизации (можно использовать MPLS в их сети для репликации бэкенда и также использовать то же соединение для Public IM Connectivity).
По существу существует 2 технологических варианта, доступные для этого (что я знаю):
Поскольку переключение DNS, когда сервер снижается, кажется слишком медленным кроме тех случаев, когда TTL = 0
Вы можете обнулить TTL, но не ожидаете, что все сети повинуются Вашей установке. На практике, приблизительно 10 минут самое низкое значение для TTL. И конечно это подразумевает, что основанная на DNS обработка отказа возьмет между 0 и 10 минутами для каждого клиента, в зависимости от Вашего TTL в их кэше.
Отбрасывание как 1 000 запросов было бы прекрасно, но больше плохо и никогда не должно происходить.
К самому лучшему из моего знания, которое является просто за пределами того, что технически возможно сегодня. Даже очень самые большие сайты используют DNS или основанную на передаче любому из узлов технологию, и очень стараются сохранить свои центры обработки данных около 100%-го времени работы, потому что нет никакого способа получить мгновенную обработку отказа на глобальном интернет-уровне.
В LAN можно использовать что-то как VMware VMotion для переключений действительно быстро, но это самостоятельно, от начала до конца управлял LAN.
Мое взятие - то, что глобальное выравнивание нагрузки непрактично за исключением очень самых больших сайтов с большой технической экспертизой:
Правовая оговорка, я хотел бы вход / исправления от истинного эксперта, который выставлял глобально избыточные системы много раз прежде... :-)
Вы могли бы также изучить сеть распределения контента (например, Akamai). Разгрузка статического содержания и кэширование динамического контента к CDN могут значительно уменьшить нагрузку на Ваш кластер.
Akamai в особенности является действительно дорогим, но существуют другие, более дешевые альтернативы.