Как крупные компании (например, Facebook) осуществляют миграцию без простоев? - PullRequest
5 голосов
/ 19 июля 2011

ОК, небольшая компания может просто уведомить своих пользователей, а затем 404 свой веб-сайт, пока они обновляют свою базу данных / код. Но это отчасти уродливо и препятствует регулярным итерациям.

Как действительно крупные компании (например, Facebook) осуществляют миграцию без простоев?

Ответы [ 2 ]

3 голосов
/ 19 июля 2011

Ключевым компонентом является база данных.Метод, который я видел, включает использование репликации для зеркального отображения данных на двух серверах.После настройки первичный сервер базы данных может быть обновлен, а серверы приложений направлены на вторичный (реплицированный) сервер.После завершения обновления основной БД серверы приложений могут быть лениво обновлены и направлены на обновленную БД.Хитрость заключается в том, чтобы серверы приложений могли работать с несколькими схемами БД.Для этого вам нужно иметь несколько кластеров серверов позади какого-то устройства балансировки нагрузки.Это не дешево:).

2 голосов
/ 19 июля 2011

Они используют кластерные решения с массовым параллелизмом, поэтому они могут вывести один сервер из кластера, не влияя на обслуживание, обновить его и затем вернуть обратно в кластер.Это обычно требует, чтобы выпуски были обратно совместимы.

...