http撥測是什麼意思 快速構建撥測系統

2021-10-17 01:29:11 字數 2237 閱讀 4794

背景

當前專案需要乙個撥測系統來檢測服務是否正常執行,撥測系統需要滿足以下需求:

支援對介面請求結果做判斷。

支援對介面的耗時做判斷。

支援重試:可能在某一瞬間網路出現了延遲,導致介面請求失敗,所以需要重試,連續重試n次失敗才算異常。

失敗告警,可配置不同的告警接收人。

通用、可配置:支援各種場景的介面協議。

圖表展示(可選)。

方案撥測系統原理上就是定時檢查服務,那是否可以偷懶,拿開源的定時任務系統來改造呢。基於這種想法,在研究多個開源專案之後,選擇了xxl-job(當前版本2.2.1)。

改造1. 新增任務

改造任務介面

以上是xxl-job新增定時任務的介面,先修改jobinfo.index.ftl檔案,隱藏掉跟監控無關的字段,隱藏的字段相當於採用了預設值。效果如下:

這裡保留了:

任務描述。

cron:自定義配置執行間隔。

執行模式:常規場景,通過bean+jobhandler即可滿足, 當撥測的介面協議很複雜,無法使用通用的撥測方法時,這裡可以選擇gul模式來自定義請求指令碼。

jobhandler:選擇撥測類別,當前僅提供了介面http撥測,後續會新增其他的撥測型別,比如redis檢查。

失敗重試次數:可能在某一瞬間網路出現了延遲,導致介面請求失敗,所以需要重試,連續重試n次失敗才算異常。

負責人。

任務引數:輸入撥測時需要的引數,比如撥測的url。

開發介面撥測handler

在executor專案開發處理器(xxl-job分為admin和executor兩個專案,admin是管理、分發,executor執行定時任務業務邏輯),撥測url等引數由任務引數來輸入,這裡選擇json作為輸入格式,定義了幾個json欄位:

method:http請求method,可選,預設是post。

resultkeys:字串陣列格式,當介面返回值裡包含了陣列裡的每一項時,才算撥測成功,可選。

postbody:post包體,可選。

htpp撥測handler**:

@component

@slf4j

public class dialtesthandler ", param);

try ]error,result: {}", dialtestconfig.geturl(), str);

xxljoblogger.log("request[{}]error,result: {}", dialtestconfig.geturl(), str);

// 業務返回的錯誤

郵件參考:

http撥測是什麼意思 快速構建撥測系統

背景 當前專案需要乙個撥測系統來檢測服務是否正常執行,撥測系統需要滿足以下需求 支援對介面請求結果做判斷。支援對介面的耗時做判斷。支援重試 可能在某一瞬間網路出現了延遲,導致介面請求失敗,所以需要重試,連續重試n次失敗才算異常。失敗告警,可配置不同的告警接收人。通用 可配置 支援各種場景的介面協議。...

uma是什麼意思 UMA是什麼意思?

展開全部 uma 不明生物 是636f707962616964757a686964616f31333431376537動畫 進化戰記 betterman 中的一類人造怪物的統稱,是生命工學食料研究所 b.p.l.所長梅崎博士製造出來 協助他利用阿尼瑪斯之花 大量製造蛋白質 具有驚人攻擊性的怪物。阿拉...

是什麼意思?

meta是html中的元標籤,其中包含了對應html的相關資訊,客戶端瀏覽器或伺服器端的程式會根據這些資訊進行處理。http equiv類似於http的頭部協議,它回應給瀏覽器一些有用的資訊,以幫助正確和精確地顯示網頁內容。content 內容型別 重要!這個網頁的格式是文字的,網頁模式 chars...