第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

重試模式,如何確定 PHP 中的失敗類型

重試模式,如何確定 PHP 中的失敗類型

PHP
絕地?zé)o雙 2022-07-22 10:43:40
我想在 PHP (Guzzle) 中實現(xiàn)重試模式以確定在失敗的情況下是否需要再次發(fā)送請求。如果需要,我是否應(yīng)該在再次發(fā)送之前使用一些延遲。注意:這是內(nèi)部服務(wù)通信,每個服務(wù)都在擴(kuò)展組中并在負(fù)載均衡器后面,所以我們假設(shè)目標(biāo) URL 是現(xiàn)有 URL,但可能由于某種原因不可用,所有服務(wù)器也是 NGINX是否有任何最佳實踐是否執(zhí)行重試以及是否延遲?據(jù)我所知,狀態(tài)503意味著服務(wù)器超載,所以在這種情況下,小延遲可能有助于等待新實例啟動并幫助分配負(fù)載???出現(xiàn)錯誤怎么辦502/504,還要延遲重試???遇到錯誤怎么辦500??在我的理解500中,當(dāng)服務(wù)器或一般邏輯出現(xiàn)問題并且我們不需要執(zhí)行任何重試時應(yīng)該拋出???怎么樣400,就像我們得到了一樣的動作500??怎么樣404??可以有兩種類型404,一種是端點確實不存在(我認(rèn)為在內(nèi)部服務(wù)之間進(jìn)行通信的情況下這是不可能的),另一種是未找到請求的資源(例如,未通過憑據(jù)找到用戶)。我認(rèn)為如果404我們不需要執(zhí)行重試422我在某些域錯誤或驗證錯誤的情況下使用,但也許服務(wù)器可以在其他情況下返回它?如果它只是由我觸發(fā)的,我可以假設(shè)不需要重試。其他狀態(tài)代碼呢,還有 NGINX 特定代碼???我知道我可能需要為每個 URI 案例制定特定的重試策略,但我相信有一些通用/可重用的規(guī)則。
查看完整描述

1 回答

?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗 獲得超3個贊

我最終得到了這樣的列表:

  • 400 錯誤請求 - 不重試

  • 401 未授權(quán) - 無 RETRY

  • 402 需要付款 - 無需重試

  • 403 禁止 - 不重試

  • 404 未找到 - 正如我之前所說的,我假設(shè)我們有不同的 404,如果未找到某些資源,例如 DB 中的用戶,如果在 URL 確實錯誤的情況下未找到 404 頁面,并且未找到 bz 平衡問題。因此,如果找不到某些資源,我們將發(fā)送一些自定義數(shù)據(jù),在這種情況下不重試,在其他情況下,我們將重試

  • 405 方法不允許 - 不重試

  • 406 不可接受 - 不重試

  • 需要 407 代理身份驗證 - 無需重試

  • 408 請求超時 -重試

  • 409 沖突 -重試

  • 410 消失 - 不重試

  • 411 長度要求 - 不重試

  • 412 前提條件失敗 - 沒有重試

  • 413 有效負(fù)載太大 - 不重試

  • 414 URI 太長 - 沒有重試

  • 415 不支持的媒體類型 - 沒有重試

  • 416 Range Not Satisfiable - no RETRY

  • 417 期望失敗 - 沒有重試

  • 421 錯誤的請求 - 沒有重試

  • 422 無法處理的實體 - 沒有重試

  • 423 Locked -如果指定的鎖定時間和時間不太長,則重試

  • 424 失敗的依賴 - 沒有重試

  • 426 需要升級 - 無需重試

  • 428 需要先決條件 - 無 RETRY

  • 429 Too Many Requests - 可能重試RETRY

  • 431 請求標(biāo)頭字段太大 - 沒有重試

  • 451 由于法律原因不可用 - 不重試

因此,不應(yīng)重試 4** 客戶端錯誤中的大多數(shù)。

不應(yīng)重試的 5** 服務(wù)器錯誤:

  • 500 Internal Server Error - no RETRY,在大多數(shù)情況下它沒有捕獲應(yīng)用程序錯誤,所以我們不應(yīng)該重試它

  • 501 未實施 - 沒有重試

  • 502 錯誤網(wǎng)關(guān) -重試

  • 503 服務(wù)不可用 -重試

  • 504 網(wǎng)關(guān)超時重試

  • 505 HTTP 版本不支持 - 不重試

  • 506 Variant Also Negotiates - 不重試

  • 507 存儲空間不足 - 不重試

  • 508 檢測到循環(huán) - 沒有重試

  • 510 未擴(kuò)展 - 不重試

  • 511 需要網(wǎng)絡(luò)身份驗證 - 無需重試

這將采用基本重試策略,但正如我所說的,每個請求都應(yīng)該單獨處理,所以大多數(shù)請求都會有自己的策略,覆蓋一些代碼處理并使用不同的重試時間。


查看完整回答
反對 回復(fù) 2022-07-22
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號