2015-05-27 3 views
1

Когда я обновляю веб-сайт, я просто заменяю содержимое новым файлом.Поддержание большого сайта

Как крупные веб-сайты обновляют свой контент? Когда тысячи посетителей просматривают сайт.

Как сделать пример, как это делают Facebook или Twitter? Тысячи разработчиков работают и миллионы посетителей на сайте. Они работают над дубликатом веб-сайта и затем переключают DNS? Используют ли они Git?

ответ

4

Blue-Green - широко используемая стратегия развертывания, которая позволяет избежать простоев.

Прежде всего вам нужен маршрутизатор/балансировщик нагрузки, который может перенаправлять запросы на виртуальный IP на реальный компьютер. Где я работаю, мы используем F5.

Вы также должны иметь две производственные среды, называемые «синими» и «зелеными».

Только один из них является «живым» в любое время. Под этим я подразумеваю, что ваш маршрутизатор должен пересылать все входящие запросы в «синюю» среду, или «зеленую» среду.

Скажем, «зеленый» - это живая музыка, и вам нужно выпустить новую версию своего приложения для производства.

  1. развертывание нового контент/приложение в «голубую» среду (помните, никаких запросов не маршрутизируемые здесь, так что среда является «отсутствует»)
  2. Тогда вы проверяете «синюю» окружающую среду и сделать убедитесь, что все правильно установлено, прежде чем отправиться жить.
  3. Затем вы меняете свой маршрутизатор, чтобы перенаправить все запросы на новый и стабильный «синий» env.

Если после концерта вы обнаружите, что есть ошибка, просто откат, снова изменив маршрутизатор, чтобы перенаправить все запросы в «зеленую» среду со «старым» приложением.

Подробнее о сине-зеленых внедрениях здесь: BlueGreenDeployment

Другой хорошо известная стратегия развертывания является Канарейка Release, что дает новые возможности для небольшого числа пользователей, и когда все было проверено должным образом, это позволили всем пользователям ,

+0

@ Mana Насколько я знаю, да, это очень распространено. Канарейский релиз также широко используется - Facebook использует его для включения новых функций для небольшого числа пользователей, прежде чем «жить» для всех. Вот почему иногда ваша домашняя страница facebook может выглядеть иначе, чем на главной странице вашего друга на facebook - потому что они тестируют новые вещи. Я добавил это к ответу. – dcastro

+0

Очень интересно! Я прочитаю о выпуске Canary и BlueGreenDeployment! Большое спасибо! – Jacob

0

Все они работают с системами управления версиями, такими как Git, SVN и т. Д. Таким образом, они могут работать в команде разных функций и нажимать и проверять фиксации для вытаскивания на живую среду (запросы на pull). Кроме того, на крупных сайтах также есть действительно большая инфраструктура тестирования.

+0

В качестве среды обитания и среды тестирования. – alexandreferris

+0

@holpducki: Да, я думаю, я просто сказал это :-) – Richard

+3

Это не объясняет, как они могут развернуть новый контент, не переходя в автономный режим, и я думаю, что это ядро ​​вопроса. – dcastro

Смежные вопросы