Как такие компании, как Google и Ebay, могут без проблем развертывать новые версии своих сайтов?
Я хотел бы знать, как эти компании развертывают новые версии своих сайтов без простоев. Мне известна модель BlueGreenDeployment, однако я хотел бы знать, что делают эти сайты, чтобы избежать / минимизировать время простоя.
3 ответа
Google обрабатывает это несколькими различными способами. Если вы изучите модель их центра обработки данных и тот факт, что они запускают "кластеры" компьютеров в каждом центре обработки данных, они могут отключить центр обработки данных, чтобы он не принимал запросы, выкатить изменения, включить дата-центр, и делать непрерывные обновления. Они также могут делать это с кластерами в центре обработки данных. Недавно они обновили файловые системы на своих компьютерах с ext3 до ext4 на месте, развернув их на уровне центра обработки данных.
Google также осуществляет поэтапное развертывание, при котором группы людей получают различные пользовательские интерфейсы, чем другие пользователи. Facebook делает это также.
Ebay выводит из эксплуатации большую часть своего центра обработки данных за счет изменений балансировщика нагрузки, обновляет и переносит их после вывода из эксплуатации другой половины. Говорят, что у них достаточно избыточности для запуска своего сайта на 1/3 доступного оборудования. У них сейчас могут быть более сложные методы, эту статью я прочитал около 4 лет назад.
Обычно наличие нескольких серверов за балансировщиками нагрузки, которые обрабатывают сайты. Таким образом, они могут удалить некоторые серверы из балансировщика нагрузки для обновления, а затем вернуть их во вращение, вынуть другие и обновить их. Таким образом, сайт никогда не отключается.
Такие крупные сайты, как Google и eBay, используют гораздо более сложные методы обслуживания своих сайтов, чем модель, представленная в вашей сине-зеленой ссылке. Существуют прокси-серверы, отказоустойчивое оборудование (или эмуляторы), anycast и многие другие технологии, обеспечивающие бесперебойную работу.