Миграция пользователей старого приложения в новое на работающем приложении - PullRequest
0 голосов
/ 04 сентября 2018

Я думаю о возможных способах миграции пользователей между двумя системами. Это финансовая система, веб-приложение (Java, Spring, Hibernate, Oracle, JBoss и др.). Есть 500 000 пользователей для миграции вместе со своими данными, такими как учетные записи, подрядчики, переводы и многие другие. Новое приложение уже работает и имеет 10 тыс. Пользователей.

В настоящее время я думаю только о онлайн / офлайн миграции. «Онлайн» означает, что приложения остаются доступными для пользователей во время миграции, «автономный» означает, что я отключаю его и отображаю сообщение о техническом прерывании, а миграция обрабатывается. Клиент не хочет выключать приложение, поэтому это будет означать онлайн-миграцию. Когда приложение включено (доступно для его пользователей), многие пользователи могут выполнять различные операции (также с использованием внешних систем), и многие фоновые процессы работают и изменяют данные базы данных. Было бы довольно рискованно мигрировать онлайн: - нет резервного копирования базы данных, так как во время миграции многие пользователи будут делать разные вещи в приложении, поэтому не будет никакой точки возврата, - проблемы во время миграции могут блокировать пользователей, которые находятся в сети (базы данных, блокировки транзакций и т. д.).

А может, у вас есть сильные стороны, чтобы убедить моего клиента в том, что онлайн-миграция - это чепуха? Вероятно, их можно разделить на прикладной уровень - риски сервера Jboss, риски базы данных, бизнес-риски.

1 Ответ

0 голосов
/ 11 сентября 2018

Вам нужно будет перевести свое хранилище (базу данных) в режим только для чтения во время миграции. Приложение не будет закрыто, но некоторые функции, которые изменяют данные, будут недоступны. Во время режима только для чтения вы копируете данные на новый первичный сайт. После копирования всех этих данных пользователи должны быть перенаправлены на новый сайт, и приложение снова становится доступным для чтения и записи.

Если режим только для чтения недопустим, вам придется синхронизировать две базы данных. Такие продукты, как GoldenGate, могут сделать это для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...