官术网_书友最值得收藏!

第一篇 準備篇

第1章 阿里中間件實戰,第一個案例

在應用系統開發過程中,池化技術,如對象池、連接池、線程池等被廣泛用來提升性能,原理是通過復用對象而減少創建、釋放連接的消耗。由于TCP連接的創建開支是昂貴的,數據庫所能承載的TCP并發連接數也是有限制的,針對這種場景,數據庫連接池應運而生。數據庫連接池的實現有很多,如c3p0、DBCP、Druid等,也包括本書將詳細介紹的、號稱性能最好的數據庫連接池——HikariCP。

關于這個問題該從何說起呢?按照傳統做法,一開始介紹某個軟件時,首先應該大致介紹它的概念、歷史起源、適用場合、發展現狀和趨勢、大致原理、架構思路、操作環境搭建方法等。可是若有人在技術大會上介紹這些東西,在一個20幾頁的技術PPT中,有18頁講概念、兩頁講實戰、最后一頁進行答疑FAQ,大都會讓我昏昏欲睡、失去聽講的耐心。

所以,我決定在這里從一個有趣的實例說起。在此過程中,我將告訴你很多和連接相關的道理,并且讓你對系統的調優過程有一點感覺,然后我才能向你展開通常的原理介紹。這個例子是我在阿里巴巴公司負責多年期間對一款中間件調優的真實經歷,這款中間件做過全鏈路壓測、經歷過3年雙十一大促、接入多種監控、數次重構改造并修復等一系列事件。這款中間件是純TCP的,再回首,我并不為當年所做的那些TCP性能優化感到自豪,相反地,我卻認為一款池化的中間件如果提煉出來則可以更加有利于技術產品的快速落地及運維,進而更好地提升研發效能。

希望讀者通過體會這個小例子可以了解到在沒有池化技術的情況下TCP調優是如何進行的,我相信通過這個例子,讀者朋友能理解TCP調優的復雜性,體會到池化技術出現的必然性。數據庫連接池同樣是池化技術,大家也可以深入思考并想象一下數據庫連接池中間件需要解決哪些問題。

主站蜘蛛池模板: 光泽县| 洱源县| 蒙自县| 临清市| 大埔区| 武宁县| 万盛区| 商洛市| 英超| 弋阳县| 长岛县| 新余市| 莱州市| 北安市| 莱西市| 嘉定区| 上栗县| 霍林郭勒市| 三明市| 苏州市| 鄂托克旗| 兴安盟| 白河县| 南澳县| 泗阳县| 凭祥市| 浮梁县| 疏附县| 隆回县| 永定县| 玛沁县| 潜江市| 密云县| 西安市| 进贤县| 秦安县| 仙游县| 泸定县| 肃北| 乐陵市| 潞城市|