istio-0.8 服务超时配置
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
請(qǐng)求超時(shí)
可以使用路由規(guī)則的httpReqTimeout字段指定http請(qǐng)求的超時(shí)。默認(rèn)情況下,超時(shí)為15秒,但在此任務(wù)中,我們將reviews服務(wù)超時(shí)重寫為1秒。然而,為了看到它的效果,我們還將在ratings服務(wù)調(diào)用中引入人為的2秒延遲。
將請(qǐng)求路由到reviews服務(wù)的v2?,即調(diào)用ratings服務(wù)的版本
cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2EOF為ratings服務(wù)調(diào)用添加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)
您應(yīng)該看到Bookinfo應(yīng)用程序正常工作(顯示評(píng)級(jí)星標(biāo)),但每次刷新頁面時(shí)都會(huì)有2秒的延遲。
現(xiàn)在為reviews服務(wù)調(diào)用添加1秒的請(qǐng)求超時(shí)
cat <<EOF | istioctl replace -f -apiVersion: networking.istio.io/v1alpha3kind: VirtualServicemetadata:name: reviewsspec:hosts:- reviewshttp:- route:- destination:host: reviewssubset: v2timeout: 1sEOF刷新Bookinfo網(wǎng)頁
您現(xiàn)在應(yīng)該看到它在1秒內(nèi)返回(而不是2秒),但評(píng)論不可用。
了解發(fā)生了什么
在此任務(wù)中,您使用Istio將對(duì)reviews微服務(wù)的調(diào)用的請(qǐng)求超時(shí)設(shè)置為1秒(而不是默認(rèn)的15秒)。由于服務(wù)在處理請(qǐng)求時(shí)reviews隨后調(diào)用ratings服務(wù),因此您使用Istio在調(diào)用中注入了2秒的延遲ratings,因此您將導(dǎo)致reviews服務(wù)花費(fèi)超過1秒的時(shí)間來完成,因此您可以看到超時(shí)運(yùn)行。
您發(fā)現(xiàn)Bookinfo產(chǎn)品頁面(調(diào)用reviews服務(wù)填充頁面)而不是顯示評(píng)論顯示消息:對(duì)不起,本書目前無法提供產(chǎn)品評(píng)論。這是它從reviews服務(wù)接收超時(shí)錯(cuò)誤的結(jié)果。
如果你查看故障注入任務(wù),你會(huì)發(fā)現(xiàn)productpage微服務(wù)也有自己的應(yīng)用程序級(jí)超時(shí)(3秒)來調(diào)用reviews微服務(wù)。請(qǐng)注意,在此任務(wù)中,我們使用Istio路由規(guī)則將超時(shí)設(shè)置為1秒。如果您將超時(shí)設(shè)置為大于3秒(例如,4秒)的超時(shí),則超時(shí)將無效,因?yàn)閮烧咧械南拗菩愿鼜?qiáng)。更多細(xì)節(jié)可以在這里找到。
關(guān)于Istio中超時(shí)的另一個(gè)注意事項(xiàng)是,除了在路由規(guī)則中覆蓋它們之外,就像在此任務(wù)中所做的那樣,如果應(yīng)用程序添加了“x-envoy-upstream-”,它們也可以在每個(gè)請(qǐng)求的基礎(chǔ)上被覆蓋。 rq-timeout-ms“出站請(qǐng)求的標(biāo)頭。在標(biāo)頭中,超時(shí)以毫秒(而不是第二)單位指定。
資料:
https://istio.io/docs/tasks/traffic-management/request-routing/
轉(zhuǎn)載于:https://my.oschina.net/xiaominmin/blog/1858655
總結(jié)
以上是生活随笔為你收集整理的istio-0.8 服务超时配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习---knn之价格预测
- 下一篇: 魔兽世界黑下宝石有什么用 《魔兽世界》官