亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

客戶端設置超時時間真的很重要

發布時間:2020-10-22 20:44:14 來源:腳本之家 閱讀:180 作者:Sam哥哥 欄目:編程語言

概述

在一條慢SQL導致購物車服務無法使用的解決方案一文中,提到了客戶端調用購物車服務的時候,超時了。如果當時客戶端沒有設置超時時間的話,會在客戶端中產生級聯故障。先用一張圖來說明一下。

客戶端設置超時時間真的很重要

聚合層除了調用購物車微服務,還調用了營銷系統微服務。如果購物車服務的接口響應時間很慢,而客戶端聚合層調用購物車服務時,又沒有設置超時時間,那么將占有大量的連接,如果請求購物車服務的請求量比較大,瞬間就會把連接占用完,直接導致聚合層調用營銷系統時,需要阻塞住等待獲取連接,這樣的話,整個小程序的很多功能就都用不了了。

從這里我們可以看到,最終小程序端會整體響應很慢,因為它調用了聚合層,而聚合層又調用了一個性能很差的購物車服務。產生級聯故障了,小程序端和聚合層都在等待中耗盡了資源,這個是非常可怕的事情。

設置超時時間

聚合層是使用了Spring Cloud Ribbon,我們可以設置一下Ribbon的超時時間。具體的可以參看SpringCloud Edgware.SR3版本中Ribbon的timeout設置方法

ribbon:
  ReadTimeout: 2000
  ConnectTimeout: 2000

這樣的話,聚合層調用購物車服務,如果兩秒鐘沒有返回結果,則超時報錯。這樣做有兩個好處。

  • 快速失敗,釋放資源;
  • 聚合層調用購物車雖然失敗了,但是聚合層調用營銷系統則仍然可以進行,不受影響。小程序端使用到營銷系統接口的功能也能繼續使用;

知識擴展

客戶端保持彈性真心很重要,因此像客戶端中的

  • 負載均衡模式
  • 斷路器模式
  • 后備模式
  • 艙壁模式

都是需要了解的。要做一個彈性客戶端,可以借助一些工具,像NetflixHystrix組件就非常不錯,并且已經被Spring Cloud集成進去了,使用起來也比較簡單。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长泰县| 乌鲁木齐县| 张家港市| 康马县| 达州市| 岳阳市| 乾安县| 乌审旗| 长子县| 遂宁市| 特克斯县| 双鸭山市| 临沭县| 修文县| 合水县| 珲春市| 布尔津县| 苏尼特右旗| 海阳市| 江安县| 武宣县| 江门市| 永顺县| 长垣县| 广丰县| 七台河市| 阿荣旗| 黄平县| 厦门市| 西青区| 眉山市| 深州市| 博兴县| 北川| 濮阳市| 合作市| 葫芦岛市| 陆良县| 苏尼特左旗| 东兴市| 申扎县|