本篇和大家分享的是一個(gè) 并發(fā)請求工具,并發(fā)往往代表的就是壓力,對(duì)于一些訂單量比較多的公司這種情況很普遍,也因此出現(xiàn)了很多應(yīng)對(duì)并發(fā)的解決方案如:分布式,隊(duì)列,數(shù)據(jù)庫鎖等;
對(duì)于沒有遇到過或者不可能線上來處理并發(fā)問題的我們來說,需要模擬這種環(huán)境,不錯(cuò)這就是寫并發(fā)請求工具的目的:
. 對(duì)于api接口做并發(fā)請求
. NetCore來寫的能跨平臺(tái)運(yùn)行
. 允許配置多個(gè)目標(biāo)地址,進(jìn)行同時(shí)并發(fā)請求
. 支持Get,Post請求方式(post參數(shù)支持:xml,json格式)
工具設(shè)計(jì)的原理
工具的全部代碼都開源至:https://github.com/shenniubuxing3/PressureTool(不妨標(biāo)個(gè)*),下面將舉例演示如何使用;工具設(shè)計(jì)的原理主要采用Task,通過配置目標(biāo)地址,請求數(shù)量來拆分成多個(gè)Task,以此完成并行的請求:
由上圖可以看出,該工具主要有3層樹形結(jié)構(gòu),最底層是真實(shí)發(fā)出對(duì)目標(biāo)url地址的請求,使用的Task,Task對(duì)于多核CPU來說效果更顯著;在講解例子前咋們先來看看配置文件對(duì)應(yīng)的實(shí)體類:
網(wǎng)友評(píng)論