如果 Java EE 中的应用程序服务器和数据库服务器都托管在不同的机器上,使用什么协议(protocol)进行通信?
我的意思是,如果我使用 JDBC,那么我可以只在配置文件(连接字符串)中指定数据库服务器的 IP 并建立连接?
如果它确实建立起来,那么使用什么协议(protocol)在两台服务器之间进行通信? 这个协议(protocol)数据库依赖吗?
或者我应该在数据库服务器上有网络服务来与应用服务器通信吗?
最佳答案
与数据库通信的协议(protocol)依赖于数据库。 JDBC 驱动程序负责为您与数据库进行通信。
数据库的 URL 也依赖于数据库,包含驱动程序连接到数据库服务器所需的信息。
在数据库服务器上使用 Web 服务绝对不是一个好主意:
- 它将禁止在 Java EE 应用程序中使用事务
- 如果不将结果全部加载到内存中,您将无法滚动到结果
- 会慢得可怕
- 数据库服务器上的 Web 服务仍将使用与数据库服务器相同的 native 协议(protocol)进行通信。
阅读JDBC tutorial获取更多信息。
关于java - Java EE 中应用服务器和数据库服务器之间的通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452646/