成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kubernetes使用OkHttp客戶端進行網絡負載均衡

開發 網絡
兩個源Pod向六個目標Pod發送請求,可以清楚地看到請求分布在目標Pod之間存在不均衡。在本文中,我將討論我們采取的措施來負載均衡這組服務和Pod。

在一次內部Java服務審計中,我們發現一些請求沒有在Kubernetes(K8s)網絡上正確地實現負載均衡。導致我們深入研究的問題是HTTP 5xx錯誤率的急劇上升,由于CPU使用率非常高,垃圾收集事件的數量很多以及超時,但這僅發生在一些特定的Pod中。

這種情況并不在所有情況下都可見,因為它影響到多Pod服務,源Pod和目標Pod的數量不同。在本博文中,我將討論我們采取的措施來負載均衡這組服務和Pod。

在我們的部署中,請求在Pod之間是如何均衡的?

兩個源Pod向六個目標Pod發送請求。

可以清楚地看到請求分布在目標Pod之間存在不均衡。

但為什么會這樣?

K8s負載均衡器(IPVS代理模式)的默認負載均衡調度程序設置為輪詢(round robin)。IPVS提供了更多的選項來均衡流量到Pod后端。在測試這些選項時,我們發現當涉及到我們的服務時,不管配置如何,行為都相同,這些服務之間使用內部路由進行通信。

到底發生了什么?K8s中的IPVS根據連接來平衡流量,這在大多數情況下都表現得相當不錯。我們的服務使用OkHttp作為相互通信的HTTP客戶端。我們的問題與這個HTTP客戶端的行為方式有關。使用默認配置,它會創建到服務器的連接,如果您不想在代碼中顯式關閉連接,因為這太昂貴,那么它會保持并重新建立到先前合作伙伴的連接。這意味著客戶端嘗試保持與目標的連接,并通過該特定連接發送請求。通常情況下,它會創建1:1的連接,這在K8s方面沒有均衡。

該怎么辦?

如果您需要擴展或希望使您的服務得到適當的負載均衡,您需要在客戶端端更新配置。OkHttp提供了ConnectionPool功能。當使用ConnectionPool選項時,連接將在有限的時間段內建立,然后重復設置一個新的連接,因此IPVS可以進行負載均衡,因為它有大量的新連接,應該根據IPVS調度程序路由到目標。基本上,它的工作方式類似于機關槍而不是激光束。

我們在發布此更新后的效果如何?

使用更新的HTTP客戶端和默認IPVS調度程序在多Pod服務之間實現了負載均衡的連接。

到底做了什么改變?

我們進行了大量的測試,使用各種配置來測量響應時間和性能開銷,以確保負載均衡。下面是主要的代碼更改,看起來沒有明顯的性能開銷。

代碼更改示例

有一個選項可以設置調度程序,以便能夠并行發送更多的請求。在我們的情況下,這最終會建立一組最近關閉的連接,然后繼續只使用一個連接。此外,我們試圖防止過于頻繁地打開新連接,因為執行請求比打開新連接要少要求得多。

結果如何?

網絡和資源的使用現在比以前更加平衡 - 沒有巨大或持續很長時間的峰值,也沒有出現只影響部署中某些Pod的“嘈雜鄰居”效應。現在幾乎所有的Pod都以幾乎相同的方式被利用,因此我們能夠減少我們的部署中的Pod數量。我們知道這并不完美,但對于我們的用例來說已經足夠好,因為它不會給服務或IPVS負載均衡器帶來明顯的性能開銷。

現在的Pod上的請求負載均衡

結論

定期進行徹底的服務審計是有益的,因為它可以揭示出未來對所有服務有益的優化點,并在解決那些本應該立即運行的功能的奇怪癥狀時為您節省時間。此外,花些時間查看文檔,測試,討論并了解在使用客戶端庫時關于連接設置和處理的默認設置的影響,以確保它們將按照您的預期行事。

責任編輯:趙寧寧 來源: 技術的游戲
相關推薦

2010-04-21 12:57:33

RAC負載均衡配置

2021-04-30 08:19:32

SpringCloud客戶端負載Ribbo

2019-06-19 14:58:38

服務器負載均衡客戶端

2020-03-19 08:00:00

客戶端KubernetesAPI

2020-03-24 15:15:29

HttpClientOkHttpJava

2011-08-17 10:10:59

2021-08-23 06:59:22

Nacos負載均衡客戶端

2012-10-11 17:02:02

IBMdw

2010-05-12 15:46:51

Subversion客

2010-01-13 18:23:46

2010-01-05 14:32:01

JSON 數據

2011-03-21 14:53:36

Nagios監控Linux

2011-04-06 14:24:20

Nagios監控Linux

2012-01-13 10:29:37

ibmdw

2020-04-23 09:32:33

zookeeperCP系統

2010-05-26 09:26:43

Cassandra

2010-06-01 13:54:42

TortoiseSVN

2011-04-06 14:24:27

Nagios監控Linux

2010-06-01 14:35:16

SVN倉庫導出

2024-05-09 08:30:57

OkHttpHTTP客戶端
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天综合网7799精品 | 亚洲一区二区在线视频 | 91最新在线视频 | 黑人巨大精品欧美一区二区免费 | 精品久久国产 | 亚洲精品视频在线播放 | 国产乱码精品1区2区3区 | 欧美涩涩网 | 亚洲国产精品第一区二区 | 久久一 | 福利一区视频 | 91国在线高清视频 | 亚洲理论在线观看电影 | 男女午夜激情视频 | 中文字幕精品一区 | 欧美成人精品激情在线观看 | 中日字幕大片在线播放 | 一级做a | 国产视频久久 | av影音| 国内精品伊人久久久久网站 | 狠狠ri| 紧缚调教一区二区三区视频 | 亚洲福利在线观看 | 国产精品视频一区二区三区四区国 | 一区二区亚洲 | 国产精品久久久久久久久久久免费看 | 亚洲人成一区二区三区性色 | 91精品久久久久久久久久入口 | 国产一区二区在线观看视频 | 免费观看一区二区三区毛片 | 久久综合久久久 | 成人毛片一区二区三区 | 亚洲成在线观看 | 91麻豆产精品久久久久久夏晴子 | 丁香五月网久久综合 | 欧美一区二区三区久久精品 | 亚洲综合精品 | 日韩精品一区二区不卡 | xxxcom在线观看 | 国产在线一区二区 |