我们有一个基于 JDBC 和 Oracle 数据库的工作应用程序。需要创建应用程序的另一个实例。新创建的应用程序实例将是为公司的可信客户端设计的,访问同一应用程序服务器不会造成问题。
这里出现了我们的疑问,因为我们有三种选择来完成任务:
- 部署应用程序的另一个实例并创建单独的数据库。
- 修改应用程序以访问两个单独的数据库
- 修改应用程序和数据库以支持“实例” - 每个表都会有另一列来定义我们正在处理的实例
需要考虑一些因素:变更工作、维护的方便性(修补应用程序和数据库、存储在存储库中、需要保持两个版本最新)。
我知道这个问题没有明确且明显的答案,但我只是想听听您的意见,了解每个解决方案的优缺点,最重要的是了解我在每个解决方案中没有看到的潜在陷阱。
最佳答案
我认为,如果您的实例应该看到单独的数据集,最简单的方法是创建 2 个单独的(相同的)数据库模式,并将第一个实例配置为使用第一个模式,第二个实例配置为使用第二个模式。
如果两个实例应该看到相同的数据,只需将它们配置为使用相同的数据库即可。
无论如何,不要修改您的代码来支持像这样的愚蠢要求。如果你收到这样的要求,你将来会收到更多(我不是算命先生。我只是有一些经验......)。我认为每次收到另一个部署要求时,您最不想更改应用程序。
关于java - 将一个应用程序 fork 到两个实例 - 一个还是两个数据库实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4602911/