java将应用程序分为两个实例一个或两个数据库实例?
我们有一个基于JDBC和Oracle数据库的工作应用程序。需要创建应用程序的另一个实例。新创建的应用程序实例将为公司的受信任客户机设计,访问同一个应用程序服务器不会造成问题
在这里,我们产生了疑问,因为我们有三种选择来完成这项任务:
- 部署应用程序的另一个实例并创建一个单独的数据库李>
- 修改应用程序以访问两个不同的数据库
- 修改应用程序和数据库以支持“一个实例”——每个表都会有另一列定义我们正在处理的实例
有一些因素需要考虑:更改工作、易于维护(修补应用程序和数据库、存储在存储库中、需要保持两个版本的最新)
我知道这个问题没有明确而明显的答案,但我只是想听听你的意见,看看每种解决方案的利弊,最重要的是知道我在每种方案中没有看到的潜在缺陷
# 1 楼答案
我认为,如果你的两个实例应该看到一组独立的数据,最简单的方法是创建两个独立的(完全相同的)DB模式,并将first instance配置为使用第一个模式,将second instance配置为使用第二个模式
如果两个实例应该看到相同的数据,只需将它们配置为使用相同的数据库即可
在任何情况下,都不要修改代码来支持像这样愚蠢的需求。如果你收到一个这样的要求,你将来会收到更多(我不是算命师,我只是有一些经验…)。我认为,每当您遇到另一个部署需求时,您最不希望更改应用程序的事情就是