精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Kubernetes中實(shí)現(xiàn)gRPC流量負(fù)載均衡

云計(jì)算 云原生 后端
在嘗試將gRPC服務(wù)部署到Kubernetes集群中時(shí),一些用戶(包括我)面臨的挑戰(zhàn)之一是實(shí)現(xiàn)適當(dāng)?shù)呢?fù)載均衡。

在嘗試將gRPC服務(wù)部署到Kubernetes集群中時(shí),一些用戶(包括我)面臨的挑戰(zhàn)之一是實(shí)現(xiàn)適當(dāng)?shù)呢?fù)載均衡。在深入了解如何平衡gRPC的方式之前,我們首先需要回答一個(gè)問題,即為什么需要平衡流量,如果Kubernetes已經(jīng)完成了這項(xiàng)工作。

本文關(guān)注于Kubernetes和Golang。

為什么在Kubernetes中無法適當(dāng)?shù)仄胶鈍RPC流量?

之所以難以平衡gRPC流量的主要原因是人們將gRPC視為HTTP,這就是問題的根源。設(shè)計(jì)上它們是不同的,雖然HTTP為每個(gè)請(qǐng)求創(chuàng)建和關(guān)閉連接,但gRPC使用HTTP2協(xié)議,在長時(shí)間的TCP連接上運(yùn)行,使得平衡更加困難,因?yàn)槎鄠€(gè)請(qǐng)求通過同一個(gè)連接進(jìn)行多路復(fù)用。然而,這并不是配置gRPC服務(wù)在Kubernetes中出現(xiàn)平衡問題的唯一原因,以下是一些常見的錯(cuò)誤配置:

  • 錯(cuò)誤的gRPC客戶端配置
  • 錯(cuò)誤的Kubernetes服務(wù)配置

錯(cuò)誤的gRPC客戶端配置

設(shè)置gRPC客戶端時(shí)常見的情況是選擇默認(rèn)配置,這對(duì)于1-1連接類型完全有效,但對(duì)于生產(chǎn)環(huán)境來說并不如我們所希望的有效。這背后的原因是因?yàn)槟J(rèn)的gRPC客戶端提供了使用簡單的IP/DNS記錄連接的可能性,這只會(huì)創(chuàng)建一個(gè)與目標(biāo)服務(wù)的連接。

因此,需要為與多個(gè)服務(wù)器建立連接進(jìn)行不同的設(shè)置,將連接類型從1-1轉(zhuǎn)換為1-N。

默認(rèn)設(shè)置:

func main(){
  conn, err := grpc.Dial("my-domain:50051", grpc.WithInsecure())
  if err != nil {
    log.Fatalf("error connecting with gRPC server: %v", err)
  }
  
  defer conn.Close()
  cli := test.NewTestServiceClient(conn)
  rs, err := cli.DoSomething(context.Background(), ...)
  .
  .
  .
}

新的設(shè)置:

func main(){
  conn, err := grpc.Dial("my-domain:50051", grpc.WithInsecure())
  if err != nil {
    log.Fatalf("error connecting with gRPC server: %v", err)
  }
  
  defer conn.Close()
  cli := test.NewTestServiceClient(conn)
  rs, err := cli.DoSomething(context.Background(), ...)
  .
  .
  .
}

這里有兩個(gè)重要的更改需要注意:

  • 地址: 最終解析的地址將類似于 dns:///my-domain:50051,之所以使用這種格式是因?yàn)镈ial函數(shù)允許我們使用由Scheme://Authority/Endpoint組成的目標(biāo),而在我們的情況下,我跳過了Authority。因此,首先我添加了dns作為方案,因?yàn)槲蚁M馕鲆粋€(gè)域并持續(xù)觀察其更改,解析器選項(xiàng)有透傳(默認(rèn))、dns和手動(dòng),更多詳情請(qǐng)參閱這里。
  • 負(fù)載均衡器選項(xiàng): 如果我們的客戶端現(xiàn)在連接到多個(gè)服務(wù)器,那么我們的gRPC客戶端可以根據(jù)所選擇的負(fù)載均衡算法平衡請(qǐng)求。

總結(jié)一下,我們的gRPC客戶端現(xiàn)在能夠創(chuàng)建不同的連接,前提是域名解析為多個(gè)A或AAAA記錄,而且不僅如此,現(xiàn)在還能夠?qū)⒄?qǐng)求均勻地分配到不同的服務(wù)器。

現(xiàn)在讓我們看看如何讓它與Kubernetes一起工作的缺失部分。

錯(cuò)誤的Kubernetes服務(wù)配置

在Kubernetes中創(chuàng)建服務(wù)非常簡單,我們只需要定義服務(wù)名稱、端口和選擇器,以便服務(wù)可以動(dòng)態(tài)地將Pod分組并自動(dòng)平衡請(qǐng)求,如下所示:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - name: grpc
      protocol: TCP
      port: 50051
      targetPort: 50051

那么,對(duì)于先前的設(shè)置,問題在于默認(rèn)的Kubernetes服務(wù)只創(chuàng)建了一個(gè)DNS記錄,鏈接到單個(gè)IP。因此,當(dāng)您執(zhí)行類似 nslookup my-service.{namespace}.svc.cluster.local 的操作時(shí),返回的是一個(gè)單個(gè)IP,這使得在常見的gRPC實(shí)現(xiàn)中連接圖看起來像這樣:

例如,使用默認(rèn)的Kubernetes服務(wù)的連接圖:

綠線表示與客戶端的活動(dòng)連接,黃色表示未活動(dòng)的Pod。客戶端與Kubernetes服務(wù)創(chuàng)建了持久連接,同時(shí)服務(wù)也與其中一個(gè)Pod創(chuàng)建了連接,但這并不意味著服務(wù)與其余的Pod沒有連接。

讓我們使用一個(gè)無頭服務(wù)來解決這個(gè)問題:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
 clusterIP: None **this is the key***
 selector:
    app: my-app
  ports:
    - name: grpc
      protocol: TCP
      port: 50051
      targetPort: 50051

創(chuàng)建了無頭服務(wù)后,nslookup看起來有些不同,現(xiàn)在它返回與之關(guān)聯(lián)的記錄(將Pod的IP分組到服務(wù)中),從而使gRPC客戶端更好地了解需要連接的服務(wù)器數(shù)量。

現(xiàn)在您已經(jīng)看到了gRPC客戶端的配置,您必須知道為什么Kubernetes服務(wù)返回與一組Pod關(guān)聯(lián)的IP非常重要。原因是客戶端可以看到所有需要建立連接的服務(wù)器。在這一點(diǎn)上,您可能已經(jīng)意識(shí)到了一個(gè)注意事項(xiàng),即平衡的責(zé)任現(xiàn)在在客戶端部分,而不在Kubernetes的一側(cè)。我們現(xiàn)在需要從Kubernetes那里得到的主要任務(wù)是保持與服務(wù)關(guān)聯(lián)的Pod列表的最新狀態(tài)。

例如,在具有無頭Kubernetes服務(wù)的連接圖中,可以看到連接發(fā)生了一些變化,現(xiàn)在我們不通過Kubernetes服務(wù)來訪問Pod,而是使用Kubernetes服務(wù)來檢索與域名關(guān)聯(lián)的Pod列表,然后直接與Pod建立連接。但是不要因?yàn)橹苯舆B接到Pod而感到驚慌,因?yàn)槲覀冊(cè)诳蛻舳酥性O(shè)置了DNS解析器類型,該解析器將持續(xù)監(jiān)視與無頭服務(wù)的更改,并將與可用的Pod保持最新的連接。

為什么不使用服務(wù)網(wǎng)格?

如果可以的話,請(qǐng)使用服務(wù)網(wǎng)格,因?yàn)樵诜?wù)網(wǎng)格中,所有這些設(shè)置都是透明的,而且最重要的是它是與編程語言無關(guān)的。關(guān)鍵區(qū)別在于服務(wù)網(wǎng)格利用了Sidecar模式和控制平面來編排入站和出站流量,還可以看到所有網(wǎng)絡(luò)和流量類型(HTTP、TCP等),從而能夠正確平衡請(qǐng)求。簡而言之,如果您不使用服務(wù)網(wǎng)格,那么您需要直接從每個(gè)客戶端連接到多個(gè)服務(wù)器,或者連接到一個(gè)L7代理來幫助平衡請(qǐng)求。

附加信息

盡管先前的設(shè)置可以工作,但我在嘗試在alpine Linux映像中進(jìn)行Pod輪換或擴(kuò)展時(shí)重新平衡連接時(shí)遇到了問題。經(jīng)過一些研究,我意識(shí)到我并不是唯一遇到這種問題的人,可以查看這里和這里的一些相關(guān)的GitHub問題。這就是為什么我決定創(chuàng)建自己的解析器的原因,您可以在這里查看我創(chuàng)建的自定義解析器,我創(chuàng)建的自定義解析器非常基礎(chǔ),但現(xiàn)在可以正常工作,gRPC客戶端現(xiàn)在可以再次監(jiān)聽域名的更改,我還為該庫添加了一個(gè)可配置的監(jiān)聽器,它每隔一段時(shí)間查找域名并更新提供給gRPC連接管理器的IP集合,如果您想貢獻(xiàn),歡迎加入。

另一方面,因?yàn)槲蚁肷钊肓私猓晕覜Q定創(chuàng)建自己的gRPC代理(我也學(xué)到了很多東西),利用了gRPC的http2基礎(chǔ),我可以創(chuàng)建一個(gè)代理,而無需更改proto負(fù)載消息或甚至不知道proto文件的定義(還使用了前面提到的自定義解析器)。

最后,我想說的是,如果您的gRPC客戶端需要與許多服務(wù)器連接,我強(qiáng)烈建議使用代理作為平衡的機(jī)制,因?yàn)閷⑦@個(gè)機(jī)制放在主應(yīng)用程序中將增加復(fù)雜性和資源消耗,嘗試保持許多打開的連接并重新平衡它們,想象一下,如果最終的平衡在應(yīng)用程序中,您將有一個(gè)與N個(gè)服務(wù)器連接的實(shí)例(1-N),但是使用代理,您將有一個(gè)與M個(gè)代理連接到N個(gè)服務(wù)器的實(shí)例(1-M-N),其中M<N,因?yàn)槊總€(gè)代理實(shí)例可以處理與不同服務(wù)器的許多連接。

責(zé)任編輯:趙寧寧 來源: 技術(shù)的游戲
相關(guān)推薦

2023-10-17 08:08:37

Dubbo服務(wù)注冊(cè)中心

2022-08-31 08:30:32

kubernetesMetalLB

2023-02-13 16:39:45

Kubernetes容器負(fù)載均衡器

2018-03-01 14:10:37

Kubernetes負(fù)載均衡容器

2021-04-21 14:56:28

負(fù)載均衡高并發(fā)優(yōu)化技術(shù)架構(gòu)

2010-05-10 14:48:01

流量負(fù)載均衡

2010-05-10 17:52:30

實(shí)現(xiàn)負(fù)載均衡

2010-05-10 14:00:21

流量負(fù)載均衡

2010-04-23 11:05:16

流量負(fù)載均衡

2022-07-14 08:53:48

MetalLBkubernetes

2013-12-13 09:55:44

VDI負(fù)載均衡

2010-05-06 12:18:34

IP負(fù)載均衡

2019-10-25 09:28:12

算法設(shè)計(jì)操作系統(tǒng)

2018-12-03 13:50:03

流量網(wǎng)絡(luò)負(fù)載均衡

2018-12-03 08:31:40

負(fù)載均衡解密Web 服務(wù)器

2024-10-30 10:54:36

2022-09-01 21:56:34

KubernetesLinkerd

2021-07-14 18:21:38

負(fù)載均衡K8SgRPC

2021-10-26 10:28:41

開發(fā)架構(gòu)Kubernetes

2018-06-25 09:54:14

LinuxDNS負(fù)載均衡
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

成年人视频网站免费观看| 成人免费视频网址| 在线免费观看日韩av| 精品日韩视频| 亚洲人成人一区二区在线观看| 91香蕉电影院| 国产尤物在线视频| 欧美限制电影| 欧美精品粉嫩高潮一区二区| 国产色一区二区三区| 精品av中文字幕在线毛片| 精品一区二区久久| 78m国产成人精品视频| 久久久久亚洲AV成人无在| 51精品国产| 欧美视频精品在线观看| 人妻av中文系列| www日韩tube| bt欧美亚洲午夜电影天堂| 国产精品无av码在线观看| 国产乡下妇女做爰| 午夜精品毛片| 亚洲人成电影网| 日本成人在线免费| av免费在线一区| 亚洲制服丝袜av| 在线一区日本视频| 国产香蕉视频在线看| 四虎国产精品永久在线国在线| 亚洲精品ww久久久久久p站| 欧美一区国产一区| 亚洲男人第一天堂| 九一九一国产精品| 国产精品福利网站| 欧美精品韩国精品| 99在线精品免费视频九九视| 久久不射热爱视频精品| 亚洲精品成人无码| 亚瑟一区二区三区四区| 精品国产青草久久久久福利| 九九热免费在线观看| 888av在线| 91看片淫黄大片一级在线观看| 91精品国产高清久久久久久久久| 在线观看亚洲网站| 成人一区二区| 尤物九九久久国产精品的分类| 捆绑凌虐一区二区三区| 亚洲一区 二区| 91精品福利在线一区二区三区| 香港日本韩国三级网站| 国产精品极品美女在线观看| 图片区小说区区亚洲影院| 成人一级生活片| 天天舔天天干天天操| 国产69精品久久777的优势| 91精品视频播放| 国产精品嫩草影院精东| 九九精品视频在线看| 国产噜噜噜噜噜久久久久久久久| 中文在线字幕av| 日本美女一区二区三区视频| 欧美中文字幕在线| 老熟妇仑乱一区二区av| 久久久亚洲人| 国产精品成人va在线观看| 欧美日韩一级黄色片| 首页综合国产亚洲丝袜| 国产精品观看在线亚洲人成网 | 亚洲婷婷国产精品电影人久久| 色噜噜狠狠一区二区三区| 一级特黄aaa大片| 久久精品国产免费| 91老司机精品视频| www.久久伊人| 不卡的av在线播放| 快播亚洲色图| 草碰在线视频| 1024成人网| 97在线免费视频观看| av日韩中文| 日韩理论片网站| 久久久久久久久网| 黄在线观看免费网站ktv| 色先锋资源久久综合| 色婷婷综合网站| 视频一区在线| 亚洲美女福利视频网站| 国产jizz18女人高潮| 你懂的国产精品| 性欧美长视频免费观看不卡| 亚洲精品中文字幕乱码三区91| 日本大胆欧美人术艺术动态| 96国产粉嫩美女| 香蕉视频黄色片| 欧美国产精品中文字幕| 国产一区二区在线网站| 韩日视频在线| 亚洲精品国产a| 午夜免费福利小电影| 成人交换视频| 欧美综合亚洲图片综合区| 亚洲另类第一页| 牛牛影视久久网| 日韩中文字幕av| 国产午夜视频在线| 麻豆传媒一区二区三区| 狠狠干一区二区| 高潮毛片在线观看| 狠狠综合久久av一区二区小说| 鲁一鲁一鲁一鲁一av| 国产一区二区三区亚洲| 久久偷看各类女兵18女厕嘘嘘| 天堂中文在线网| 国产一区二区三区不卡在线观看| 欧美12av| 2020国产在线| 91精品国产麻豆国产自产在线| 蜜桃传媒一区二区亚洲av| 女生裸体视频一区二区三区| 国产精品69av| 日韩欧美亚洲系列| 亚洲一区视频在线| 超碰在线免费av| 99国内精品久久久久| 国产视频精品久久久| 免费又黄又爽又色的视频| 免费成人美女在线观看.| 久久亚洲精品欧美| 9lporm自拍视频区在线| 欧美三级日本三级少妇99| 人妻少妇精品视频一区二区三区 | 最近2019中文字幕mv免费看 | 欧美午夜电影一区二区三区| 欧美性猛交xxxx富婆弯腰| 国产综合内射日韩久| 亚洲国产一成人久久精品| 国产精品久久久久久久一区探花| 天堂91在线| 午夜精品久久久久久久久久| 亚洲熟女乱综合一区二区| 中文字幕午夜精品一区二区三区| 国产精品视频一区国模私拍| 久久久久国产精品嫩草影院| 天天色图综合网| 99久久免费看精品国产一区| 狠狠久久婷婷| 国产一区二区在线观看免费播放| 黑人另类精品××××性爽| 日韩欧美国产系列| 欧美国产日韩综合| 国产成人激情av| 菠萝蜜视频在线观看入口| 一区二区免费| 性欧美暴力猛交69hd| 天堂影院在线| 色综合久久久久综合体| 日韩人妻一区二区三区| 青青一区二区三区| 国产精品久久久久久久久久久久久久 | 日韩欧美高清一区| 免费毛片在线播放免费 | 999热视频| 女囚岛在线观看| 亚洲国产欧美一区| 久久久精品视频网站| 国产欧美精品一区| 免费精品99久久国产综合精品应用| 999精品视频| 99re资源| 看黄在线观看| 亚洲人精选亚洲人成在线| 正在播放木下凛凛xv99| 中文字幕制服丝袜一区二区三区 | 91九色丨porny丨国产jk| 久久夜色精品国产噜噜av小说| 26uuu另类亚洲欧美日本一 | 欧美久久久精品| 色噜噜一区二区三区| 欧美日韩国产综合新一区| 性欧美一区二区| 国产精品一区二区视频| 人妻少妇精品无码专区二区| 精品国内自产拍在线观看视频 | 久久一区二区三区四区五区| 日本一区二区三区视频免费看| 日本免费在线一区| 欧美国产欧美亚洲国产日韩mv天天看完整| 蜜桃视频久久一区免费观看入口| 欧美日韩美女视频| 欧美日韩生活片| 成人免费av网站| 欧美日韩怡红院| 国产精品vip| 秋霞在线观看一区二区三区| 亚洲精品成a人ⅴ香蕉片| 久久久综合av| 电影在线一区| 欧美xxxx老人做受| 啪啪小视频网站| 不卡视频在线看| 男女啪啪网站视频| 韩国自拍一区| 亚洲国产午夜伦理片大全在线观看网站| 精品国产三级| 国产成人精品在线视频| 美女网站视频在线| 中文国产成人精品| 视频二区在线| 福利视频网站一区二区三区| 91国偷自产一区二区三区的观看方式 | 性欧美精品高清| 91久久伊人青青碰碰婷婷| 日韩精品av| 欧美成人免费播放| 国产视频二区在线观看| 亚洲国产一区二区三区四区| 艳妇乳肉豪妇荡乳av| 精品高清美女精品国产区| 成人自拍小视频| 国产女主播一区| 亚洲av永久无码精品| 国产综合久久久久久鬼色| av免费网站观看| 欧美在线观看视频一区| 国产精品一码二码三码在线| 天堂综合在线播放| 国产成人精品av在线| 免费毛片在线看片免费丝瓜视频 | 日本黄色小说视频| 亚洲国产高清在线观看视频| 亚洲av无码一区二区二三区| 成人性生交大片免费看中文网站| 午夜免费福利网站| 久久99精品国产麻豆不卡| 日本va中文字幕| 免费在线成人| 国产亚洲欧美在线视频| 亚洲精品影院在线观看| 男人天堂a在线| 自拍偷拍欧美专区| 一区二区三区日韩视频| 日韩电影在线视频| 日韩欧美亚洲在线| 精品国精品国产自在久国产应用| 欧美精品二区三区四区免费看视频| 最新欧美色图| 97av视频在线| 日本不良网站在线观看| 97高清免费视频| 三级在线观看视频| 91福利视频在线观看| 国产乱码精品一区二三赶尸艳谈| 久久久久久久久久久人体| 天天色天天射天天综合网| 欧美大片在线免费观看| 欧美性猛片xxxxx免费中国| 欧美日本精品在线| 啦啦啦中文在线观看日本| 色综合久久天天综线观看| 成人影音在线| 欧美亚洲激情在线| 天天综合网站| 国产综合久久久久| 日韩高清二区| 精品国产日本| 精品免费av| 伊人久久大香线蕉午夜av| 欧美韩国一区| 欧美,日韩,国产在线| 久久xxxx精品视频| 天堂在线资源视频| 极品少妇xxxx偷拍精品少妇| 毛片毛片毛片毛片毛| 99在线热播精品免费| 国产亚洲精品熟女国产成人| 国产精品福利一区| 久久99久久98精品免观看软件| 无码av免费一区二区三区试看| 成人免费视频国产免费| 欧美精品一级二级| 亚洲国产999| 欧美日韩国产综合一区二区| 国产精品爽爽久久久久久| 日韩精品一区二区三区中文不卡| 少妇人妻精品一区二区三区| 国产一区二区三区三区在线观看| 看黄网站在线| 2019av中文字幕| jizz欧美| 国产精品手机视频| 欧美在线免费看视频| 91免费版看片| 日韩av在线播放中文字幕| 精品人妻一区二区三| 91免费观看视频在线| 黑人狂躁日本娇小| 精品magnet| 国产又粗又猛又色又| 亚洲精品一区二区三区不| 黄网站免费在线观看| 欧美又大又粗又长| 精品视频成人| 日韩精品久久一区二区三区| 国产精品久久| 邪恶网站在线观看| av色综合久久天堂av综合| av最新在线观看| 色视频成人在线观看免| 草草视频在线播放| 中文字幕日韩欧美在线视频| av漫画网站在线观看| 亚洲一区二区三区久久| 欧美另类69xxxxx| 成品人视频ww入口| 紧缚奴在线一区二区三区| 免费观看av网站| 亚洲午夜激情av| 国产伦精品一区二区三区免.费| 国产视频精品免费播放| 美女精品导航| 91久久国产综合久久蜜月精品| 国产一区二区三区四区二区| 丰满的少妇愉情hd高清果冻传媒 | 国产精品久久视频| 欧美网色网址| 久久成人福利视频| 国产一区不卡视频| 亚洲欧美精品久久| 欧洲视频一区二区| 韩国中文字幕2020精品| 26uuu亚洲伊人春色| 久9re热视频这里只有精品| 老汉色影院首页| 都市激情一区| 欧美日韩国产高清一区二区三区| 亚洲av片一区二区三区| 久久久在线观看| 草草视频在线一区二区| 996这里只有精品| 国产成人在线视频免费播放| 四虎影院中文字幕| 91精品国产一区二区| 日本视频在线播放| 国产在线高清精品| 色婷婷综合网| 日韩高清第一页| 国产精品伦理在线| 国产乱码精品一区二三区蜜臂| 日日噜噜噜夜夜爽亚洲精品| 国产精品亚洲成在人线| 亚洲国产精品一区在线观看不卡| 蜜臀av性久久久久蜜臀aⅴ四虎| japanese中文字幕| 欧美性受xxxx| 在线观看黄色av| 成人免费在线网址| 91精品天堂福利在线观看| 中文字幕在线视频一区二区三区| 亚洲日本va在线观看| aa视频在线免费观看| 九九久久精品一区| 国产精品色呦| 久久美女福利视频| 国产午夜精品一区二区| 亚洲天堂999| 美日韩精品视频免费看| 哺乳挤奶一区二区三区免费看| www.99热这里只有精品| 久久久三级国产网站| 我要看黄色一级片| 日韩一区二区在线播放| 国产视频第一区| 国产精品视频一| 综合视频在线| 男人的天堂影院| 在线亚洲精品福利网址导航| 婷婷成人激情| 超碰国产精品久久国产精品99| 国产视频一区欧美| 妖精视频在线观看免费 | 精品毛片在线观看| 91精品国产91久久久久久最新| 国产欧美日韩| 亚洲第一区第二区第三区| 亚洲午夜精品在线| 国产经典自拍视频在线观看| 91九色综合久久| 一本综合精品| 韩国一级黄色录像| 亚洲激情第一页| 欧美啪啪网站| 国产真人做爰毛片视频直播| 国产视频一区二区在线| 精品人妻一区二区三区含羞草 | 人人妻人人爽人人澡人人精品| 日韩中文在线观看| 麻豆视频一区| 国产美女视频免费看| 天天综合日日夜夜精品|