У меня есть некоторые данные, которые хранятся в DB1
, DB2
и DB3
, размещенных на Machine1
.Теперь, чтобы масштабировать систему, мне нужно переместить осколок DB1
с Machine1
на Machine2
.После завершения перемещения все запросы к шарду DB1
будут перенаправлены на Machine2
.
Предположим, что у нас все чтения, записи и обновления поступают на DB1
все время.Как я могу выполнить миграцию без простоев для чтения / записи / обновления?
Мы можем сделать DB1
только для чтения во время окна миграции и скопировать данные в Machine2
.Как только копирование завершено, мы можем направить трафик на Machine2
и разрешить запись.
Но что, если мы хотим сделать то же самое, в то время как запись также происходит?