jav*_*uns 4 java database sockets client-server object
我正在构建客户端 - 服务器应用程序,我真的想建议如何设计服务器 - 数据库连接部分.我们说基本思路如下:
就我们拥有的Java对象而言
因此,当客户端连接到服务器时,会在它们之间创建会话,通过该会话交换所有数据.现在困扰我的是我是否应该为每个客户端会话创建一个数据库对象/连接,或者我是否应该创建一个将处理所有请求的数据库对象.
因此这两个概念是
使用选项1,我猜所有方法都应该同步,以避免一个客户端线程不覆盖另一个的变量.但是,在大量并发请求的情况下使其同步将是耗时的,因为每个请求将被放入队列中,直到完成一个运行.
使用选项2,似乎是一个更合适的解决方案,但为每个客户端 - 服务器会话创建一个数据库对象是一个消耗内存的任务,而且当并发连接用户的数量很大时,为每个客户端创建数据库连接可能会再次导致问题.
这些只是我的想法,所以请添加任何可能对决定有帮助的评论.
谢谢
选项3:使用连接池.每次要连接到数据库时,都会从池中获得连接.完成后,关闭连接以将其返回池中.
那样,你可以
基本上所有服务器应用都使用此策略.所有Java EE服务器都带有连接池.您还可以在Java SE应用程序中使用它,将池用作库(HikariCP,Tomcat连接池等)
| 归档时间: |
|
| 查看次数: |
1255 次 |
| 最近记录: |