本篇文章為大家展示了使用nginx怎么實(shí)現(xiàn)一個(gè)分布式限流功能,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
網(wǎng)站制作、成都網(wǎng)站建設(shè)的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)公司一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。
首先部署一個(gè)對(duì)外暴露接口的程序
我這里部署的是一個(gè)spring boot 項(xiàng)目 里面暴露了如下接口, 很簡(jiǎn)單
暴露了一個(gè) get 請(qǐng)求返回 hello world 的restful 接口.
將此程序部署到 linux 服務(wù)器上. 部署步奏不再贅述, 自行百度 spring boot 部署 即可.
在此我向大家推薦一個(gè)架構(gòu)學(xué)習(xí)交流群。交流學(xué)習(xí)群號(hào):575745314 里面會(huì)分享一些資深架構(gòu)師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務(wù)架構(gòu)的原理,JVM性能優(yōu)化、分布式架構(gòu)等這些成為架構(gòu)師必備的知識(shí)體系。還能領(lǐng)取免費(fèi)的學(xué)習(xí)資源,目前受益良多
創(chuàng)建一個(gè)名稱為 nginx.conf 的 nginx 配置文件
創(chuàng)建一個(gè) 名叫 nginx.conf 的配置文件, 完整內(nèi)容如下
配置文件中限流部分解釋:
如上, nginx 的限流配置 , 只有兩行代碼.
第一行:
limit_req_zone : 是限流聲明.
$binary_remote_addr: 表示根據(jù)客戶端 ip 來(lái) 限流, 比如 上面的限流配置 限制每個(gè)客戶端ip的請(qǐng)求頻率為一秒一次, 你如果耍流氓一秒兩次, 就會(huì)被限流 會(huì)返回一個(gè)http 503 錯(cuò)誤給你.
zone=perip: 表示 用 perip 這個(gè) 名稱 來(lái)標(biāo)識(shí) 這行限流配置, 待會(huì) 會(huì)通過(guò) perip 這個(gè)名稱來(lái)引用這行限流配置(也就是說(shuō)限流配置是可以定義為多個(gè)的)
10m: 表示存儲(chǔ)客戶端ip的空間為10MB, 1MB 大概存儲(chǔ)1萬(wàn)多ip , 10 MB 大概 10多萬(wàn)Ip , 參考解釋: http://www.ttlsa.com/nginx/ng... 在這篇文章中搜索 binary_remote_addr 即可定位相關(guān)解釋.
rate=1r/s: 表示頻率是 一秒一個(gè)請(qǐng)求.
第二行:
表示在 myserver 這個(gè)集群上, 使用 名稱為 perip 的限流配置
用docker 部署 nginx
將上一步創(chuàng)建的 nginx.conf 配置文件, 拷貝到linux 目錄 , /root/nginx/ 下 (目錄可以任意), 然后 一個(gè)docker 命令部署好 nginx 環(huán)境
這里暴露的是 8080 端口, 通過(guò) 8080 端口可以訪問(wèn)到 nginx 配置中的負(fù)載均衡節(jié)點(diǎn), 即 192.168.10.253:8090 ip端口, 這個(gè) ip端口對(duì)應(yīng)的就是 , 第一步創(chuàng)建部署的 hello world 程序.
用代碼訪問(wèn) 第一步定義的 helloworld 接口
我這里是 一秒 執(zhí)行 10次 get 請(qǐng)求, 已經(jīng)大于了 nginx中配置的 rate=1r/s 一秒一次的請(qǐng)求, 所以會(huì)看到 503 報(bào)錯(cuò), 如下.
上述內(nèi)容就是使用nginx怎么實(shí)現(xiàn)一個(gè)分布式限流功能,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
新聞名稱:使用nginx怎么實(shí)現(xiàn)一個(gè)分布式限流功能
URL鏈接:http://chinadenli.net/article40/gjcjho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、用戶體驗(yàn)、電子商務(wù)、動(dòng)態(tài)網(wǎng)站、外貿(mào)建站、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)