istio-0.8 服务超时配置
2019獨角獸企業重金招聘Python工程師標準>>>
請求超時
可以使用路由規則的httpReqTimeout字段指定http請求的超時。默認情況下,超時為15秒,但在此任務中,我們將reviews服務超時重寫為1秒。然而,為了看到它的效果,我們還將在ratings服務調用中引入人為的2秒延遲。
將請求路由到reviews服務的v2?,即調用ratings服務的版本
cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2EOF為ratings服務調用添加2秒延遲:
cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: ratingsspec:hosts:- ratingshttp:- fault:delay:percent: 100fixedDelay: 2sroute:- destination:host: ratingssubset: v1EOF在瀏覽器中打開Bookinfo URL(http:// $ GATEWAY_URL / productpage)
您應該看到Bookinfo應用程序正常工作(顯示評級星標),但每次刷新頁面時都會有2秒的延遲。
現在為reviews服務調用添加1秒的請求超時
cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2timeout: 1sEOF刷新Bookinfo網頁
您現在應該看到它在1秒內返回(而不是2秒),但評論不可用。
了解發生了什么
在此任務中,您使用Istio將對reviews微服務的調用的請求超時設置為1秒(而不是默認的15秒)。由于服務在處理請求時reviews隨后調用ratings服務,因此您使用Istio在調用中注入了2秒的延遲ratings,因此您將導致reviews服務花費超過1秒的時間來完成,因此您可以看到超時運行。
您發現Bookinfo產品頁面(調用reviews服務填充頁面)而不是顯示評論顯示消息:對不起,本書目前無法提供產品評論。這是它從reviews服務接收超時錯誤的結果。
如果你查看故障注入任務,你會發現productpage微服務也有自己的應用程序級超時(3秒)來調用reviews微服務。請注意,在此任務中,我們使用Istio路由規則將超時設置為1秒。如果您將超時設置為大于3秒(例如,4秒)的超時,則超時將無效,因為兩者中的限制性更強。更多細節可以在這里找到。
關于Istio中超時的另一個注意事項是,除了在路由規則中覆蓋它們之外,就像在此任務中所做的那樣,如果應用程序添加了“x-envoy-upstream-”,它們也可以在每個請求的基礎上被覆蓋。 rq-timeout-ms“出站請求的標頭。在標頭中,超時以毫秒(而不是第二)單位指定。
資料:
https://istio.io/docs/tasks/traffic-management/request-routing/
轉載于:https://my.oschina.net/xiaominmin/blog/1858655
總結
以上是生活随笔為你收集整理的istio-0.8 服务超时配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习---knn之价格预测
- 下一篇: 宽字节注入解析