AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

Kubernetes使用OkHttp客戶端進(jìn)行網(wǎng)絡(luò)負(fù)載均衡

來源: 責(zé)編: 時(shí)間:2023-10-30 17:24:18 251觀看
導(dǎo)讀在一次內(nèi)部Java服務(wù)審計(jì)中,我們發(fā)現(xiàn)一些請求沒有在Kubernetes(K8s)網(wǎng)絡(luò)上正確地實(shí)現(xiàn)負(fù)載均衡。導(dǎo)致我們深入研究的問題是HTTP 5xx錯(cuò)誤率的急劇上升,由于CPU使用率非常高,垃圾收集事件的數(shù)量很多以及超時(shí),但這僅發(fā)生在一些特

在一次內(nèi)部Java服務(wù)審計(jì)中,我們發(fā)現(xiàn)一些請求沒有在Kubernetes(K8s)網(wǎng)絡(luò)上正確地實(shí)現(xiàn)負(fù)載均衡。導(dǎo)致我們深入研究的問題是HTTP 5xx錯(cuò)誤率的急劇上升,由于CPU使用率非常高,垃圾收集事件的數(shù)量很多以及超時(shí),但這僅發(fā)生在一些特定的Pod中。lc728資訊網(wǎng)——每日最新資訊28at.com

這種情況并不在所有情況下都可見,因?yàn)樗绊懙蕉郟od服務(wù),源Pod和目標(biāo)Pod的數(shù)量不同。在本博文中,我將討論我們采取的措施來負(fù)載均衡這組服務(wù)和Pod。lc728資訊網(wǎng)——每日最新資訊28at.com

lc728資訊網(wǎng)——每日最新資訊28at.com

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

lc728資訊網(wǎng)——每日最新資訊28at.com

兩個(gè)源Pod向六個(gè)目標(biāo)Pod發(fā)送請求。lc728資訊網(wǎng)——每日最新資訊28at.com

可以清楚地看到請求分布在目標(biāo)Pod之間存在不均衡。lc728資訊網(wǎng)——每日最新資訊28at.com

但為什么會這樣?

K8s負(fù)載均衡器(IPVS代理模式)的默認(rèn)負(fù)載均衡調(diào)度程序設(shè)置為輪詢(round robin)。IPVS提供了更多的選項(xiàng)來均衡流量到Pod后端。在測試這些選項(xiàng)時(shí),我們發(fā)現(xiàn)當(dāng)涉及到我們的服務(wù)時(shí),不管配置如何,行為都相同,這些服務(wù)之間使用內(nèi)部路由進(jìn)行通信。lc728資訊網(wǎng)——每日最新資訊28at.com

到底發(fā)生了什么?K8s中的IPVS根據(jù)連接來平衡流量,這在大多數(shù)情況下都表現(xiàn)得相當(dāng)不錯(cuò)。我們的服務(wù)使用OkHttp作為相互通信的HTTP客戶端。我們的問題與這個(gè)HTTP客戶端的行為方式有關(guān)。使用默認(rèn)配置,它會創(chuàng)建到服務(wù)器的連接,如果您不想在代碼中顯式關(guān)閉連接,因?yàn)檫@太昂貴,那么它會保持并重新建立到先前合作伙伴的連接。這意味著客戶端嘗試保持與目標(biāo)的連接,并通過該特定連接發(fā)送請求。通常情況下,它會創(chuàng)建1:1的連接,這在K8s方面沒有均衡。lc728資訊網(wǎng)——每日最新資訊28at.com

該怎么辦?

如果您需要擴(kuò)展或希望使您的服務(wù)得到適當(dāng)?shù)呢?fù)載均衡,您需要在客戶端端更新配置。OkHttp提供了ConnectionPool功能。當(dāng)使用ConnectionPool選項(xiàng)時(shí),連接將在有限的時(shí)間段內(nèi)建立,然后重復(fù)設(shè)置一個(gè)新的連接,因此IPVS可以進(jìn)行負(fù)載均衡,因?yàn)樗写罅康男逻B接,應(yīng)該根據(jù)IPVS調(diào)度程序路由到目標(biāo)。基本上,它的工作方式類似于機(jī)關(guān)槍而不是激光束。lc728資訊網(wǎng)——每日最新資訊28at.com

我們在發(fā)布此更新后的效果如何?lc728資訊網(wǎng)——每日最新資訊28at.com

lc728資訊網(wǎng)——每日最新資訊28at.com

使用更新的HTTP客戶端和默認(rèn)IPVS調(diào)度程序在多Pod服務(wù)之間實(shí)現(xiàn)了負(fù)載均衡的連接。lc728資訊網(wǎng)——每日最新資訊28at.com

到底做了什么改變?

我們進(jìn)行了大量的測試,使用各種配置來測量響應(yīng)時(shí)間和性能開銷,以確保負(fù)載均衡。下面是主要的代碼更改,看起來沒有明顯的性能開銷。lc728資訊網(wǎng)——每日最新資訊28at.com

lc728資訊網(wǎng)——每日最新資訊28at.com

代碼更改示例lc728資訊網(wǎng)——每日最新資訊28at.com

有一個(gè)選項(xiàng)可以設(shè)置調(diào)度程序,以便能夠并行發(fā)送更多的請求。在我們的情況下,這最終會建立一組最近關(guān)閉的連接,然后繼續(xù)只使用一個(gè)連接。此外,我們試圖防止過于頻繁地打開新連接,因?yàn)閳?zhí)行請求比打開新連接要少要求得多。lc728資訊網(wǎng)——每日最新資訊28at.com

結(jié)果如何?

網(wǎng)絡(luò)和資源的使用現(xiàn)在比以前更加平衡 - 沒有巨大或持續(xù)很長時(shí)間的峰值,也沒有出現(xiàn)只影響部署中某些Pod的“嘈雜鄰居”效應(yīng)。現(xiàn)在幾乎所有的Pod都以幾乎相同的方式被利用,因此我們能夠減少我們的部署中的Pod數(shù)量。我們知道這并不完美,但對于我們的用例來說已經(jīng)足夠好,因?yàn)樗粫o服務(wù)或IPVS負(fù)載均衡器帶來明顯的性能開銷。lc728資訊網(wǎng)——每日最新資訊28at.com

lc728資訊網(wǎng)——每日最新資訊28at.com

現(xiàn)在的Pod上的請求負(fù)載均衡lc728資訊網(wǎng)——每日最新資訊28at.com

結(jié)論

定期進(jìn)行徹底的服務(wù)審計(jì)是有益的,因?yàn)樗梢越沂境鑫磥韺λ蟹?wù)有益的優(yōu)化點(diǎn),并在解決那些本應(yīng)該立即運(yùn)行的功能的奇怪癥狀時(shí)為您節(jié)省時(shí)間。此外,花些時(shí)間查看文檔,測試,討論并了解在使用客戶端庫時(shí)關(guān)于連接設(shè)置和處理的默認(rèn)設(shè)置的影響,以確保它們將按照您的預(yù)期行事。lc728資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-15866-0.htmlKubernetes使用OkHttp客戶端進(jìn)行網(wǎng)絡(luò)負(fù)載均衡

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 四種常見線程池的原理,你學(xué)會了嗎?

下一篇: 如何使用Python編寫多因子量化策略

標(biāo)簽:
  • 熱門焦點(diǎn)
  • 直屏旗艦來了 iQOO 12和K70 Pro同臺競技

    旗艦機(jī)基本上使用的都是雙曲面屏幕,這就讓很多喜歡直屏的愛好者在苦等一款直屏旗艦,這次,你們等到了。據(jù)博主數(shù)碼閑聊站帶來的最新爆料稱,Redmi下代旗艦K70 Pro和iQOO 12兩款手
  • 影音體驗(yàn)是真的強(qiáng) 簡單聊聊iQOO Pad

    大公司的好處就是產(chǎn)品線豐富,非常細(xì)分化的東西也能給你做出來,例如早先我們看到了新的vivo Pad2,之后我們又在iQOO Neo8 Pro的發(fā)布會上看到了iQOO的首款平板產(chǎn)品iQOO Pad。雖
  • 7月安卓手機(jī)好評榜:三星S23Ultra好評率第一

    性能榜和性價(jià)比榜之后,我們來看最后的安卓手機(jī)好評榜,數(shù)據(jù)來源安兔兔評測,收集時(shí)間2023年7月1日至7月31日,僅限國內(nèi)市場。第一名:三星Galaxy S23 Ultra好評率:95.71%在即將迎來新
  • Raft算法:保障分布式系統(tǒng)共識的穩(wěn)健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復(fù)制、可冗余、可容錯(cuò)”)的首字母縮寫。Raft算法是一種用于在分布式系統(tǒng)
  • Rust中的高吞吐量流處理

    作者 | Noz編譯 | 王瑞平本篇文章主要介紹了Rust中流處理的概念、方法和優(yōu)化。作者不僅介紹了流處理的基本概念以及Rust中常用的流處理庫,還使用這些庫實(shí)現(xiàn)了一個(gè)流處理程序
  • 2023 年的 Node.js 生態(tài)系統(tǒng)

    隨著技術(shù)的不斷演進(jìn)和創(chuàng)新,Node.js 在 2023 年達(dá)到了一個(gè)新的高度。Node.js 擁有一個(gè)龐大的生態(tài)系統(tǒng),可以幫助開發(fā)人員更快地實(shí)現(xiàn)復(fù)雜的應(yīng)用。本文就來看看 Node.js 最新的生
  • 8月見!小米MIX Fold 3獲得3C認(rèn)證:支持67W快充

    這段時(shí)間以來,包括三星、一加、榮耀等等有不少品牌旗下的最新折疊屏旗艦都得到了不少爆料,而小米新一代折疊屏旗艦——小米MIX Fold 3此前也屢屢被傳
  • 網(wǎng)傳小米汽車開始篩選交付中心 建筑面積不低于3000平方米

    7月7日消息,近日有微博網(wǎng)友@長三角行健者爆料稱,據(jù)經(jīng)銷商集團(tuán)反饋,小米汽車目前已經(jīng)開始了交付中心的篩選工作,要求候選場地至少有120個(gè)車位,建筑不能低
  • iQOO Neo8 Pro搶先上架:首發(fā)天璣9200+ 安卓性能之王

    經(jīng)過了一段時(shí)間的密集爆料,昨日iQOO官方如期對外宣布:將于5月23日推出全新的iQOO Neo8系列新品,官方稱這是一款擁有旗艦級性能調(diào)校的作品。隨著發(fā)布時(shí)
Top