Skip to content
All writing Part 07 of 12 · 在容器裡遙控 Chrome 的完整路由
Engineering · 2 min read

CDP GUID Race:Load Balancer 拆開兩步連線

CDP 需要兩條連線打到同一支 Chrome。Load balancer 會把它們拆開,Pod 越多失敗率越高。

問題

CDP 需要兩條連線打到同一支 Chrome。Load balancer 會把它們拆開。

API Pod kube-proxy Chrome A Chrome B 第一通:GET 回覆 GUID-A 第二通:WS 「GUID-A?」→ 404 成功率 = 1/N 3 個 Pod = 33% 6 個 Pod = 17% 越多越慘

kube-proxy 每次連線隨機選一個 Pod。兩通可以打到不同 Pod。

Chrome B 不認識 GUID-A,回 404。

N 個 Pod 時,兩通打到同一個的機率是 1/N

  • 3 個 Pod = 33% 成功
  • 6 個 Pod = 17% 成功
  • Pod 越多越慘

重試可以靠運氣成功,但每次嘗試的成功率都只有 1/N。KEDA 加越多 Pod,失敗率越高。這是路由問題,不是容量問題。

修復方式:把 Service hostname 解析成 Pod IP,兩步都用同一個 IP。詳見 Headless Service

Retry 不是修復。它是碰運氣。Pod 越多,運氣越差。


參考來源:

Related:Headless Service 怎麼修復這個 raceCDP 兩階段連線為什麼造成這個問題,或回到系列總覽

Tags #kubernetes #chrome-devtools #containers
// connect

Be brave | Be wise | Be grateful

21 BreakinCode

// elsewhere
LinkedInMedium (lang: en)Youtube
wh:~$William Hung· © 2026 Taipei · GMT+8 · Available for collaboration