我正在考虑在两个系统之间迁移用户的可能方式。它是金融系统,一个Web应用程序(Java,Spring,Hibernate,Oracle,JBoss等)。有50万用户与他们的数据一起迁移,例如帐户,承包商,转移,许多其他数据。新的应用程序已经可以使用并且拥有1万名用户。
目前,我只考虑在线/离线迁移。联机是指在迁移过程中用户仍然可以访问应用程序,而脱机是指将其关闭并显示技术性故障消息,并且正在进行迁移。客户端不想关闭应用程序,因此意味着在线迁移。当应用程序打开时(其用户可以访问),许多用户可能会执行不同的操作(也使用外部系统),并且许多后台进程正在工作并且正在更改数据库数据。在线迁移非常危险: -没有数据库备份,因为在迁移过程中,许多用户会在应用程序中做不同的事情,因此不会有返回点, -迁移过程中出现的问题可能会阻止在线用户(数据库,事务锁定等)。
也许您有一些强项可以说服我的客户在线迁移是胡说八道?它们可能可以按应用程序层划分-Jboss服务器风险,数据库风险,业务风险。
答案 0 :(得分:0)
在迁移期间,您将必须将存储(数据库)置于只读模式。该应用程序不会关闭,但是某些更改数据的功能将不可用。在只读模式期间,您将数据复制到新的主站点上。复制所有数据后,必须将用户重定向到新站点,并且应用程序再次变为读写状态。
如果不接受只读模式,则必须保持两个数据库同步。诸如GoldenGate之类的产品可以为您做到这一点。