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

淺談 K8S 下 gRPC 負載均衡問題

開發 開發工具
一般來說,在 K8S 下部署服務是很簡單的事兒,但是如果部署的是一個 gRPC 服務的話,那么稍不留神就可能掉坑里,個中緣由,且聽我慢慢道來。

[[411299]]

本文轉載自微信公眾號「架構技術漫談」,作者LA0WAN9。轉載本文請聯系架構技術漫談公眾號。

一般來說,在 K8S 下部署服務是很簡單的事兒,但是如果部署的是一個 gRPC 服務的話,那么稍不留神就可能掉坑里,個中緣由,且聽我慢慢道來。

在 K8S 下部署服務,缺省會被分配一個地址(也就是 ClusterIP[1]),客戶端的請求會發送給它,然后再通過負載均衡轉發給后端某個 pod:

ClusterIP

如果是 HTTP/1.1 之類的服務,那么 ClusterIP 完全沒有問題;但是如果是 gRPC 服務,那么 ClusterIP 會導致負載失衡,究其原因,是因為 gRPC 是基于 HTTP/2 的,多個請求在一個 TCP 連接上多路復用,一旦 ClusterIP 和某個 pod 建立了 gRPC 連接后,因為多路復用的緣故,所以后續其它請求也都會被轉發給此 pod,結果其它 pod 則完全被忽略了。

看到這里,有的讀者可能會有疑問:HTTP/1.1 不是實現了基于 KeepAlive 的連接復用么?為什么 HTTP/1.1 的復用沒問題,而 HTTP/2 的復用就有問題?答案是 HTTP/1.1 的 復用是串行的,當請求到達的時候,如果沒有空閑連接那么就新創建一個連接,如果有空閑連接那么就可以復用,同一個時間點,連接里最多只能承載有一個請求,結果是 HTTP/1.1 可以連接多個 pod;而 HTTP/2 的復用是并行的,當請求到達的時候,如果沒有連接那么就創建連接,如果有連接,那么不管其是否空閑都可以復用,同一個時間點,連接里可以承載多個請求,結果是 HTTP/2 僅僅連接了一個 pod。

了解了 K8S 下 gRPC 負載均衡問題的來龍去脈,我們不難得出解決方案:

在 Proxy 中實現負載均衡:采用 Envoy 做代理,和每臺后端服務器保持長連接,當客戶端請求到達時,代理服務器依照規則轉發請求給后端服務器,從而實現負載均衡。

Proxy

在 Client 中實現負載均衡:把服務部署成 headless service[2],這樣服務就有了一個域名,然后客戶端通過域名訪問 gRPC 服務,DNS resolver 會通過 DNS 查詢后端多個服務器地址,然后通過算法來實現負載均衡。

Client

兩種方案的優缺點都很明顯:Proxy 方案結構清晰,客戶端不需要了解后端服務器,對架構沒有侵入性,但是性能會因為存在轉發而打折扣;Client 方案結構復雜,客戶端需要了解后端服務器,對架構有侵入性,但是性能更好。

參考資料

[1]ClusterIP: https://kubernetes.io/docs/concepts/services-networking/service/

[2]headless service: https://kubernetes.io/docs/concepts/services-networking/serv

 

責任編輯:武曉燕 來源: 架構技術漫談
相關推薦

2009-11-05 15:39:39

負載均衡

2022-10-24 08:14:35

長連接負載均衡Conusmer

2022-04-22 13:32:01

K8s容器引擎架構

2019-04-29 11:00:14

架構負載均衡互聯網

2020-11-05 11:11:26

云計算DockerOpenStac

2018-02-23 14:44:41

負載均衡技術分類

2023-04-04 07:25:46

KubernetesOpenKruise

2023-11-06 07:16:22

WasmK8s模塊

2023-09-06 08:12:04

k8s云原生

2017-10-10 08:30:21

Kubernetes容器編排

2023-10-17 08:08:37

Dubbo服務注冊中心

2023-10-27 12:36:37

gRPCKubernetes

2024-02-20 16:55:14

K8S云計算

2024-03-18 15:44:48

K8S故障運維

2023-05-25 21:38:30

2023-08-03 08:36:30

Service服務架構

2023-08-04 08:19:02

2021-04-21 14:56:28

負載均衡高并發優化技術架構

2022-09-13 09:04:20

云計算移動辦公大數據

2020-05-12 10:20:39

K8s kubernetes中間件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲 中文 欧美 日韩 在线观看 | 97在线超碰 | 亚洲一区二区三 | 国产第一亚洲 | 国产精品久久久亚洲 | 一本色道久久综合亚洲精品高清 | 久久一区二区三区电影 | 久久免费福利 | aa级毛片毛片免费观看久 | 日本一区二区三区在线观看 | 成人网视频 | 久久国产精品色av免费观看 | 秋霞影院一区二区 | 91精品久久久久久久久久 | 国产日韩精品一区二区三区 | 五月婷婷在线播放 | 欧美中文| 男女羞羞视频在线免费观看 | 91视频中文 | 狠狠撸在线视频 | 蜜桃视频一区二区三区 | 美女操网站 | 黄色av网站免费看 | 日日噜噜噜夜夜爽爽狠狠视频97 | 久久久这里只有17精品 | 国产激情91久久精品导航 | 国产综合网站 | 九九热免费在线观看 | 成人一级片在线观看 | 久久久久久亚洲精品不卡 | 99国产精品久久久久久久 | 国产a区| 日本字幕在线观看 | 久久亚洲一区二区三 | 一区二区三区久久 | 欧美高清视频在线观看 | 成人午夜免费福利视频 | 久久51 | 中文字幕第一页在线 | 久草资源网站 | 97成人精品 |