日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用SpringBoot實現微服務超時重試模式的示例

瀏覽:24日期:2023-04-09 17:58:29

使用resilience4j的庫和Spring Boot設計高彈性的微服務。

微服務本質上是分布式的。當您使用分布式系統時,請始終記住這一第一法則- 網絡中可能發生任何事情。處理任何此類意外故障可能很難解決。故障可能是任何東西-應用程序,硬件或網絡等。

系統從故障中恢復并保持正常運行的能力使系統更具 彈性。它還避免了下游服務的任何級聯故障。

重試模式:

在微服務體系結構中,當有多個服務(A,B,C和D)時,一個服務(A)可能依賴于另一服務(B),而另一服務(B)又可能依賴于C,依此類推。有時由于某些問題,服務D可能無法按預期響應。服務D可能引發了某些異常,例如內存不足 錯誤或內部服務器錯誤。此類異常被級聯到下游服務,這可能導致不良的用戶體驗,如下所示。

使用SpringBoot實現微服務超時重試模式的示例

有時,當google.com對我們不起作用時,我們只是不放棄。我們假設頁面下次可以正常工作,并且大多數情況下都會刷新頁面,因此只需刷新頁面即可。間歇性網絡問題非常普遍。在微服務領域,我們可能正在運行同一服務D的多個實例,以實現高可用性和負載平衡。如果其中一個實例可能有問題,并且無法正確響應我們的請求,則如果我們重試該請求,則負載均衡器可以將請求發送到運行狀況良好的節點并正確獲得響應。因此,使用“重試”選項,我們有更多機會獲得正確的響應。

使用SpringBoot實現微服務超時重試模式的示例

讓我們考慮這個簡單的應用程序來解釋此重試模式。

使用SpringBoot實現微服務超時重試模式的示例

如上所述,我們有多個微服務 產品服務充當產品目錄并負責提供產品信息 產品服務取決于評級服務。 評分服務維護產品評論和評分。 由于擁有大量數據而速度慢是眾所周知的。 每當我們查看產品詳細信息時,產品服務就會將請求發送到評分服務,以獲取該產品的評論。 我們還有其他服務,例如帳戶服務,訂單服務和付款服務等,與本文的討論無關。 產品服務是一項核心服務,沒有它,用戶將無法啟動訂單工作流程。

設置:

<dependency> <groupId>io.github.resilience4j</groupId> <artifactId>resilience4j-spring-boot2</artifactId> <version>1.6.1</version></dependency>

產品服務負責根據用戶搜索條件提供產品列表。它是即使在關鍵負載下也應該啟動和響應的核心服務之一。如果下降,將嚴重影響收入。由于此服務取決于評級服務,因此我們不希望任何網絡問題或評級服務不可用性影響此產品服務。這就是使用 resilience4j 庫的目的。

我首先為resilience4j創建一個配置, 如下所示。在這里,我們將超時明確設置為3秒。我們可以在特定的超時時間內添加多個服務。 我們可以有多種服務配置,如下所示。 對于ratingService,我們將最多進行3次重試,延遲5秒。 retryExceptions:這些是我們將重試的異常。這是一個數組字段。您可以配置多個例外。 ignoreExceptions:有些異常我們可能不想重試。例如,一個錯誤的請求就是一個錯誤的請求。重試沒有意義。因此,我們忽略了這一點。

resilience4j.retry: instances: ratingService: maxRetryAttempts: 3 waitDuration: 5s retryExceptions:- org.springframework.web.client.HttpServerErrorException ignoreExceptions:- org.springframework.web.client.HttpClientErrorException someOtherService: maxRetryAttempts: 3 waitDuration: 10s retryExceptions:- org.springframework.web.client.HttpServerErrorException- java.io.IOException

代碼:

@Servicepublic class RatingServiceClient { private final RestTemplate restTemplate = new RestTemplate(); @Value('${rating.service.endpoint}') private String ratingService; @Retry(name = 'ratingService', fallbackMethod = 'getDefault') public CompletionStage<ProductRatingDto> getProductRatingDto(int productId){Supplier<ProductRatingDto> supplier = () -> this.restTemplate.getForEntity(this.ratingService + productId, ProductRatingDto.class) .getBody();return CompletableFuture.supplyAsync(supplier); } private CompletionStage<ProductRatingDto> getDefault(int productId, HttpClientErrorException throwable){return CompletableFuture.supplyAsync(() -> ProductRatingDto.of(0, Collections.emptyList())); }}

代碼解釋:

@Retry表示resilience4j將對該方法執行應用重試邏輯。 name = ratingService 表示 resilience4j 將使用yaml中的ratingService配置。 當main方法由于某種原因失敗時,將使用fallbackMethod。

總結

重試模式 是用于設計彈性微服務的最簡單的微服務 設計模式之一。引入重試可以解決與網絡相關的問題。

源代碼可 在此處獲得。

超時模式源碼可在此處獲得。

以上就是使用SpringBoot實現微服務超時重試模式的示例的詳細內容,更多關于SpringBoot實現微服務超時的資料請關注好吧啦網其它相關文章!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩免费观看视频| 亚洲精选久久| 精品网站999| 久久精品亚洲| 成人免费一区| 日韩电影二区| 国产99久久久国产精品成人免费| 999久久久免费精品国产| 亚洲精品在线影院| 色88888久久久久久影院| 日韩黄色大片网站| 久久黄色影院| 影院欧美亚洲| 亚洲青青久久| 蜜臀精品久久久久久蜜臀 | 亚洲一二av| 日韩精品社区| 国产日韩欧美一区二区三区 | 国产成人a视频高清在线观看| 97精品一区| 不卡一区2区| 亚洲一区欧美| 国产精品视频一区二区三区| 国际精品欧美精品| 精品三级久久| 日韩精品一级二级| 国产毛片久久久| 国产在线看片免费视频在线观看| 久久香蕉国产| 日本欧美久久久久免费播放网| 国产精品啊啊啊| 亲子伦视频一区二区三区| 9色精品在线| 国产美女撒尿一区二区| 不卡一二三区| 免费一级片91| 久久精品系列| 中文精品视频| 欧美亚洲色图校园春色| 成人在线视频中文字幕| 香蕉国产精品| 国产精品伦一区二区| 神马午夜久久| 亚洲精品一二| 日韩欧美另类一区二区| 综合日韩在线| 亚洲精品永久免费视频| 视频一区二区三区在线| 久久三级毛片| 综合激情网站| 色网在线免费观看| 亚洲+小说+欧美+激情+另类| 欧美xxxx中国| 免费在线观看视频一区| 国产一区二区三区不卡视频网站| 日韩一区精品字幕| av资源亚洲| 欧美亚洲综合视频| 欧美日韩国产一区精品一区| 老鸭窝一区二区久久精品| 国产一区成人| 成人精品国产亚洲| 免费黄网站欧美| 亚洲成人一区在线观看| 欧美视频二区| 国产韩日影视精品| 精品伊人久久久| 免费观看日韩电影| 免费福利视频一区二区三区| 日韩av在线免费观看不卡| 欧美va天堂在线| 久久精品伊人| 亚洲91网站| 在线一区免费| 国产传媒在线观看| 国产日韩欧美一区二区三区在线观看| 99香蕉国产精品偷在线观看| 日本一区二区高清不卡| 日韩精品久久久久久| 亚洲国产影院| 毛片在线网站| 国产精品扒开腿做爽爽爽软件| 免费在线观看一区二区三区| 久久久久中文| 韩国女主播一区二区三区| 日本不卡一二三区黄网| 久久av一区| 婷婷成人在线| 92国产精品| 免费视频一区二区三区在线观看| 丝瓜av网站精品一区二区 | 国产日韩欧美一区| 美国三级日本三级久久99 | 日韩欧美激情| 国产模特精品视频久久久久| 日韩精品欧美| 在线天堂资源www在线污| 国产精品流白浆在线观看| 日韩精品福利一区二区三区| 夜夜精品视频| 欧美.日韩.国产.一区.二区| 国产综合色区在线观看| 久久久久久色 | 欧美aa在线视频| 日本欧美韩国一区三区| 在线视频亚洲欧美中文| 香蕉国产精品| 国精品一区二区| 日韩精品欧美激情一区二区| 成人日韩av| 久久婷婷国产| 久久在线91| 国产美女精品视频免费播放软件| 婷婷综合电影| 中文字幕成人| 亚洲ww精品| 亚洲免费成人av在线| 蜜桃久久av一区| 免费看精品久久片| 亚洲视频二区| 香蕉久久久久久| 欧美精品中文| 国产精品天堂蜜av在线播放| 国产精品一级| 国产精品男女| 老鸭窝一区二区久久精品| 国产极品久久久久久久久波多结野| 国产精品亚洲片在线播放| 国产欧美日韩免费观看| 国产精品扒开腿做爽爽爽软件| 美女视频黄久久| 日本蜜桃在线观看视频| 久久精品欧美一区| 国产一区欧美| 国产婷婷精品| 亚洲精品一级| 久久精品99久久久| 久久久久黄色| 久久三级视频| 91免费精品国偷自产在线在线| 欧美一区不卡| 精品理论电影在线| 久久男人天堂| 99在线|亚洲一区二区| 亚洲精品在线国产| 国产精品久久久久久模特| 国产精品伦理久久久久久| 久久国产直播| 蜜臀精品久久久久久蜜臀| 久久激情av| 伊人久久在线| 99国产精品久久久久久久成人热 | 日韩在线播放一区二区| 蜜臀a∨国产成人精品| 久久精品99久久久| 中文字幕在线高清| 精品在线91| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 另类综合日韩欧美亚洲| 亚洲一区资源| 免播放器亚洲| 国产日韩1区| 日韩大片在线| 男人的天堂亚洲一区| 欧美亚洲三级| 不卡福利视频| 亚洲91网站| 日本欧美国产| 久久最新视频| 黄色欧美在线| 免费人成在线不卡| 精品国产美女a久久9999| 亚洲国产成人精品女人| 97se亚洲| 久久要要av| 青青国产精品| 91精品国产乱码久久久久久久| 婷婷久久免费视频| 97国产成人高清在线观看| 午夜欧美精品| 国产精品白丝av嫩草影院| 国产精品88久久久久久| 国产福利一区二区精品秒拍| 亚洲精品电影| 精品久久99| 日韩中文字幕不卡| 在线天堂中文资源最新版| 综合国产精品| 视频小说一区二区| 欧美一区精品| 国产高清一区二区| 精品一区二区三区视频在线播放 | 国产精品成人国产| 亚洲欧洲一区二区天堂久久| 老司机精品视频在线播放| 1024精品久久久久久久久| 美女高潮久久久| 中文字幕亚洲精品乱码| 丝袜美腿诱惑一区二区三区| 国产免费av一区二区三区|