91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

編程開發中連接池的示例分析

發布時間:2022-03-31 11:14:23 來源:億速云 閱讀:158 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關編程開發中連接池的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

什么是連接池?

創建與管理連接緩沖池的技術,本質是資源復用,不用頻繁創建與銷毀連接,能提高性能。

畫外音:數據庫連接池,服務連接池,都是連接池。

微服務分層架構中,連接池扮演著極其重要的角色。

編程開發中連接池的示例分析

如上圖:

  • 上層虛線框,是web集群;

  • 下層虛線框,是service集群;

  • 綠色框,代表一條上下游建立的連接;

  • 藍色框,代表連接池;

此例中,一個調用方會與一個服務節點建立2條連接,服務集群共3個集群,故連接池總共6條連接,從c1到c6。

上層調用方,除了會從連接池中拿連接收發報文訪問下游服務外,互聯網架構中,還有哪些技術點與連接池相關呢?

一、故障轉移與服務發現

編程開發中連接池的示例分析

如上圖:

  • 故障轉移,假如舊的服務節點s1出現了故障,c1和c2連接失效,會被從連接池中剔除,后續請求不會再發送到故障的節點中;

  • 服務發現,假如新的服務節點s4上線,c7和c8連接建立,會被加入到連接池中來,后續請求會發送到新增的節點中;

動態刪除連接與新增連接,這就是動態連接池。

服務發現,如何感知到新的節點s4上線呢?詳見《改了配置,不想重啟,怎么整?》。

二、負載均衡

采用輪詢的策略,逐個使用連接池中的連接,可以實現對下游服務訪問的負載均衡。

采用完全隨機的策略,也能實現負載均衡。

編程開發中連接池的示例分析

如上圖:

給每個連接一個相同的權重,取連接訪問下游時,采用一個隨機算法,落到哪個格子用哪個連接,還是上面的例子:

n = random() % 6 + 1;

  • n=[1,2],訪問s1;

  • n=[3,4],訪問s2;

  • n=[5,6],訪問s3;

3個區間的寬度相同,即落到某個服務的概率相等,負載是均衡的。

那么,如果服務節點的服務能力有差異,有的處理能力強,有的處理能力弱,怎么辦呢?

三、靜態權重負載均衡

編程開發中連接池的示例分析

如上圖:

給每個服務配置一個不同的權重,連接池初始化時,不同服務的區間大小有差異,取連接訪問下游時,落到某個格子的概率也會有差異:

n = random() % 16 + 1;

  • n=[1,2],訪問s1;

  • n=[3,6],訪問s2;

  • n=[7,16],訪問s3;

3個區間的寬度與服務的權重成正比,即落到某個服務的概率等同權重。

畫外音:nginx就支持這么玩,但靜態權重實在太粗暴了。

那么,如果服務節點的服務能力有差異,但又很難用靜態權重標識,怎么辦呢?

四、動態權重負載均衡

編程開發中連接池的示例分析

如上圖:連接池初始化時,為連接分配一個動態的權重。

畫外音:服務不再需要配置了。

仍按照之前的方法分配負載,只是:

  • 連接處理超時,動態權重下降;

  • 連接處理成功,動態權重上升;

關于“編程開發中連接池的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林甸县| 寻乌县| 台北市| 磐安县| 苍南县| 南和县| 宾阳县| 方正县| 宜川县| 沂南县| 阿克苏市| 新建县| 钟山县| 临西县| 从化市| 永宁县| 怀集县| 喀什市| 阜城县| 竹山县| 西华县| 枝江市| 茌平县| 遂昌县| 灯塔市| 辽中县| 巴里| 金昌市| 株洲县| 龙海市| 张家口市| 吉木乃县| 石渠县| 天等县| 宁晋县| 墨江| 麻江县| 政和县| 安龙县| 扎兰屯市| 盐池县|