池化技術

原文鏈接:https://msd.misuland.com/pd/2884250171976189862

常用的軟件技術思想

池化技術
簡單來說就是提前保存大量的資源,以備不時之需

核心是複用

池化技術作用
複用相同的資源,減少浪費,減少新建和銷燬的成本;
減少單獨管理的成本,統一交由"池";
集中管理,減少"碎片";
提高系統響應速度,因爲池中有現成的資源,不用重新去創建;
使用池化技術的例子
java線程池
java中所有的池化技術都有一個好處,就是通過複用池中的對象,降低系統資源消耗。設想一下如果我們有n多個子任務需要執行,如果我們爲每個子任務都創建一個執行線程,而創建線程的過程是需要一定的系統消耗的,最後肯定會拖慢整個系統的處理速度。而通過線程池我們可以做到複用線程,任務有多個,但執行任務的線程可以通過線程池來複用,這樣減少了創建線程的開銷,系統資源利用率得到了提升!

通俗一點,線程池,就是提前創建 n 個線程在池中等待執行,當有任務過來時,直接從池中撈一個線程負責執行這個任務,執行完成之後,再放回池中,等待執行新的任務。 池中的線程可以多次利用,提高了資源利用率。 因爲會預製 n 個線程,所以提高了響應速度。

數據庫連接池
數據庫連接池基本的思想是在系統初始化的時候,將數據庫連接作爲對象存儲在內存中,當用戶需要訪問數據庫時,並非建立一個新的連接,而是從連接池中取出一個已建立的空閒連接對象。使用完畢後,用戶也並非將連接關閉,而是將連接放回連接池中,以供下一個請求訪問使用。而連接的建立、斷開都由連接池自身來管理。同時,還可以通過設置連接池的參數來控制連接池中的初始連接數、連接的上下限數以及每個連接的最大使用次數、最大空閒時間等等,也可以通過其自身的管理機制來監視數據庫連接的數量、使用情況等

java 內存池
如果每次需要內存時都是重新申請,會產生很多內存碎片,影響內存的利用率。 如果一開始就申請一大塊內存,按需使用,那麼就會減少內存碎片。

計算系統池化技術
不同類型資源之間也存在生命週期不同步的問題。譬如,CPU 是發展速度最快的,每兩三年就性能翻倍,然而存儲的技術發展相對緩慢,從而會造成CPU性能和功耗的浪費。  服務器資源池化技術,除了能夠帶來靈活、彈性的資源部署,提高資源利用率這個優勢,還能夠更有效的提高服務器的故障修復能力,提升服務器運營效率。硬盤是故障率最高的部件之一,在實現存儲池化技術後,多盤存儲資源池爲單體硬盤提供了很好的冗餘設計能力。當單個硬盤出現故障後,可以及時使用其他硬盤資源進行無損恢復,無需立即現場更換硬盤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章