2016-07-30 25 views
0

我的問題似乎很簡單,但有一些子問題需要更深入的檢查。 我的問題: 處理數據庫連接的最佳實踐/架構是什麼?REST應用程序中DatabaseConnection的體系結構

我發現選項:

  1. 對於每個休息FUL服務與數據庫(DB)請求創建一個新的連接 到數據庫和查詢後再次關閉此。
  2. 在REST服務之外創建一個連接,並將其用於每個 查詢。

選項1 .: 其中一個負面因素是爲每個請求建立和關閉連接的成本。

選項2 .: 不知道它是否工作。我已經研究過Web服務生命週期以檢查這可能是如何工作的,但不知道在Web服務完成後實例是否仍然活着。也不知道這是否是一種好的做法,因爲可能會有事件破壞連接。最後一個問題是我認爲這些請求可能會彼此阻塞(所以它破壞了線程的概念)。

希望你能幫我一點這個建築。

映入眼簾,

回答

0

如果創建每個查詢/交易之一,它是更容易管理「關閉」的連接。

我明白了爲什麼常識意味着你應該打開一個並在整個過程中使用它,但是你會遇到連接斷開和多線程問題。所以你的下一步將是打開一個連接池,比如說50個連接,並將它們全部打開,並將它們放到不同的進程中。

如果您在需要時打開一個連接,並在完成時將其處理完畢,那將不會實際關閉連接,只會將其返回到連接池以再次使用。

+0

謝謝你的名字的主要概念是「連接池/ ing」,這對我有很大的幫助。我發現了一些提供這種**連接池**的框架/服務。在我的情況下,Apache Tomcat也提供這樣的服務。 – Kinimod