2016-07-30 27 views
0

我的问题似乎很简单,但有一些子问题需要更深入的检查。 我的问题: 处理数据库连接的最佳实践/架构是什么?REST应用程序中DatabaseConnection的体系结构

我发现选项:

  1. 对于每个休息FUL服务与数据库(DB)请求创建一个新的连接 到数据库和查询后再次关闭此。
  2. 在REST服务之外创建一个连接,并将其用于每个 查询。

选项1 .: 其中一个负面因素是为每个请求建立和关闭连接的成本。

选项2 .: 不知道它是否工作。我已经研究过Web服务生命周期以检查这可能是如何工作的,但不知道在Web服务完成后实例是否仍然活着。也不知道这是否是一种好的做法,因为可能会有事件破坏连接。最后一个问题是我认为这些请求可能会彼此阻塞(所以它破坏了线程的概念)。

希望你能帮我一点这个建筑。

映入眼帘,

回答

0

如果创建每个查询/交易之一,它是更容易管理“关闭”的连接。

我明白了为什么常识意味着你应该打开一个并在整个过程中使用它,但是你会遇到连接断开和多线程问题。所以你的下一步将是打开一个连接池,比如说50个连接,并将它们全部打开,并将它们放到不同的进程中。

如果您在需要时打开一个连接,并在完成时将其处理完毕,那将不会实际关闭连接,只会将其返回到连接池以再次使用。

+0

谢谢你的名字的主要概念是“连接池/ ing”,这对我有很大的帮助。我发现了一些提供这种**连接池**的框架/服务。在我的情况下,Apache Tomcat也提供这样的服务。 – Kinimod