[譯] Istio-proxy 的503問(wèn)題

原文鏈接:Istio-proxy 503 issue

一、問(wèn)題描述

在定位連接丟失的問(wèn)題過(guò)程中,通過(guò)分析日志發(fā)現(xiàn),請(qǐng)求到達(dá) istio-proxy 的 sidecar 之后并沒(méi)有繼續(xù)轉(zhuǎn)發(fā)到相應(yīng)的應(yīng)用容器,而且大部分503報(bào)錯(cuò)都是 inbound 型流量。通過(guò)查看 istio 文檔以及進(jìn)一步定位,我們發(fā)現(xiàn),當(dāng)一個(gè)請(qǐng)求到達(dá) Istio-proxy 后,Istio-proxy 會(huì)新建一個(gè)與應(yīng)用容器的連接,這些連接緩存在 istio 內(nèi)以實(shí)現(xiàn)更好的性能表現(xiàn)(復(fù)用)。但從應(yīng)用側(cè)來(lái)看,這些連接都有 idle 超時(shí)設(shè)置,而503報(bào)錯(cuò)就是因?yàn)?Istio-proxy 轉(zhuǎn)發(fā)請(qǐng)求時(shí)使用的已有連接,而該連接在應(yīng)用側(cè)由于idle超時(shí)設(shè)置是已經(jīng)關(guān)閉了的。

二、解決方案

2.1 關(guān)閉 istio-proxy 緩存機(jī)制

影響性能,暫不考慮

2.2 引入重試機(jī)制

引入重試機(jī)制,當(dāng)請(qǐng)求由于某些特定連接錯(cuò)誤而失敗時(shí),進(jìn)行必要的重試操作。
方法就是配置VirtualService

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  label:
    applyverb: automated
    project: example
    service: app
  name: example-ivs
  namespace: example-ns
spec:
  gateways:
  - istio-system/prod-domain-gty
  hosts:
  - domain.io
  http:
  - match:
    - uri:
        prefix: /api/
      route:
      - destination:  
          host: example-svc
          port:
            number: 80
      retries:
        attempts: 3
        perTryTimeout: 0.1s
        retryOn: gateway-error, connect-failure,refused-stream

添加retries配置后,當(dāng)請(qǐng)求遇到這3種錯(cuò)誤時(shí),會(huì)每隔0.1s進(jìn)行一次重試,一共重試3次,重試間隔根據(jù)實(shí)際情況自行調(diào)試。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Istio簡(jiǎn)介 Istio提供了完整的非侵入式的微服務(wù)治理解決方案,解決微服務(wù)的管理、網(wǎng)絡(luò)連接以及安全管理等應(yīng)用網(wǎng)...
    sknfie閱讀 249評(píng)論 0 0
  • 本文是 Istio 管理 Java 微服務(wù)的案例教程,使用的所有工具和軟件全部基于開(kāi)源方案,替換了redhat-d...
    蒲熠星F1閱讀 3,627評(píng)論 0 1
  • 在微服務(wù)中另外一個(gè)重點(diǎn)就是網(wǎng)關(guān),網(wǎng)關(guān)理論包含入口網(wǎng)關(guān)和出口網(wǎng)關(guān),傳統(tǒng)意義上的網(wǎng)關(guān)很難做到出口網(wǎng)絡(luò)控制,但是對(duì)于Is...
    城市里永遠(yuǎn)的學(xué)習(xí)者閱讀 2,346評(píng)論 0 0
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過(guò)就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,938評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無(wú)數(shù)的可能。 ...
    yichen大刀閱讀 8,213評(píng)論 0 4

友情鏈接更多精彩內(nèi)容