本篇和大家分享的是一個(gè) 并發(fā)請(qǐng)求工具,并發(fā)往往代表的就是壓力,對(duì)于一些訂單量比較多的公司這種情況很普遍,也因此出現(xiàn)了很多應(yīng)對(duì)并發(fā)的解決方案如:分布式,隊(duì)列,數(shù)據(jù)庫(kù)鎖等;
對(duì)于沒(méi)有遇到過(guò)或者不可能線上來(lái)處理并發(fā)問(wèn)題的我們來(lái)說(shuō),需要模擬這種環(huán)境,不錯(cuò)這就是寫并發(fā)請(qǐng)求工具的目的:
. 對(duì)于api接口做并發(fā)請(qǐng)求
. NetCore來(lái)寫的能跨平臺(tái)運(yùn)行
. 允許配置多個(gè)目標(biāo)地址,進(jìn)行同時(shí)并發(fā)請(qǐng)求
. 支持Get,Post請(qǐng)求方式(post參數(shù)支持:xml,json格式)
工具設(shè)計(jì)的原理
工具的全部代碼都開源至:https://github.com/shenniubuxing3/PressureTool(不妨標(biāo)個(gè)*),下面將舉例演示如何使用;工具設(shè)計(jì)的原理主要采用Task,通過(guò)配置目標(biāo)地址,請(qǐng)求數(shù)量來(lái)拆分成多個(gè)Task,以此完成并行的請(qǐng)求:
由上圖可以看出,該工具主要有3層樹形結(jié)構(gòu),最底層是真實(shí)發(fā)出對(duì)目標(biāo)url地址的請(qǐng)求,使用的Task,Task對(duì)于多核CPU來(lái)說(shuō)效果更顯著;在講解例子前咋們先來(lái)看看配置文件對(duì)應(yīng)的實(shí)體類:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無(wú)線安全]玩轉(zhuǎn)無(wú)線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問(wèn)題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來(lái)看看(二) 2017-07-26