国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

消息隊(duì)列堆積太多,下游處理不過來怎么辦呢?

開發(fā) 前端
由于上游服務(wù)流量增加,發(fā)送到消息隊(duì)列的消息增多,阿粉在處理消息的時候需要依賴下游的一個服務(wù),可是誰想到下游的服務(wù)效率太差,消息太多處理不過來,CPU 居高不下。

作為后端程序員日常工作中難免會遇到要跟消息隊(duì)列打交道的時候,而且在當(dāng)下微服務(wù)的場景下,很多服務(wù)的性能不是我們自己能控制的。

這不阿粉最近就遇到了一個場景,由于上游服務(wù)流量增加,發(fā)送到消息隊(duì)列的消息增多,阿粉在處理消息的時候需要依賴下游的一個服務(wù),可是誰想到下游的服務(wù)效率太差,消息太多處理不過來,CPU 居高不下。

看過我們昨天文章的小伙伴應(yīng)該都知道,這個時候我們就需要進(jìn)行限流了,為了避免將下游的服務(wù)打垮,我們來進(jìn)行單機(jī)限流操作。這里我們來模擬一下操作過程,首先我們通過一段偽代碼來模擬大流量,然后通過配置 sentinel 的控制臺來配置規(guī)則從而實(shí)現(xiàn)單機(jī) QPS 20 的限制。

創(chuàng)建 SpringBoot 服務(wù)

首先我們創(chuàng)建一個 SpringBoot 服務(wù),在 pom.xml 文件中增加下面的配置。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-core</artifactId>
<version>1.8.4</version>
</dependency>

然后我們提供一個對外的 http 接口,通過訪問接口來觸發(fā)我們的限流代碼,接口代碼如下:

代碼如下:

package com.example.demo.controller;

import com.alibaba.csp.sentinel.SphO;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
* <br>
* <b>Function:</b><br>
* <b>Author:</b>@author ziyou<br>
* <b>Date:</b>2022-05-08 12:56<br>
* <b>Desc:</b>無<br>
*/
@RestController
public class LoginController {

@GetMapping(value = "/login")
public void login(String username, String password) {
System.out.println("login");
//模擬一百萬條消息
for (int i = 0; i < 1000000; i++) {
boolean entry = false;
try {
entry = SphO.entry("HelloWorld");
while (!entry) {
try {
Thread.sleep(50);
System.out.println("entry false");
entry = SphO.entry("HelloWorld");
} catch (InterruptedException e) {

}
}
System.out.println("entry true");
} catch (Exception e) {

} finally {
if (entry) {
SphO.exit();
}
}
}
}
}

調(diào)用接口過后,通過循環(huán)一百萬次來模擬大流量,這里我們要解釋以下幾個內(nèi)容

  • SphO.entry("HelloWorld"):是 Sentinel 的資源控制器,"HelloWord" 是資源的名稱,資源 是 sentinel 的一個很重要的概念,所有的限流都是針對資源的操作;SphO.entry() 返回值是布爾值,為 true 表示資源可用,沒有被限流,為 false 表示資源被限流;
  • 這里模擬在被限流了過后,程序等待一段時間,再去判斷是否限流,只有在資源未被限流的時候,才能繼續(xù)處理;
  • 在 finally 里面需要進(jìn)行 SphO.exit(); 操作,當(dāng)被限流了以后,也就是SphO.entry() == true 后一定要執(zhí)行 SphO.exit(); 否則代碼會創(chuàng)建多個Entry 對象,程序運(yùn)行時間長了過后會導(dǎo)致內(nèi)存泄露,引發(fā) FullGC。

這個時候我們啟動一個服務(wù),調(diào)用一下接口,可以看到效果如下,很快就會運(yùn)行完,并沒有達(dá)到限流的效果,那是因?yàn)槲覀兇丝踢€沒有配置限流規(guī)則,所以沒有觸發(fā)到限流的邏輯。

配置 sentinel 控制臺

接下來我們安裝一下 sentinel 的控制臺,通過控制臺來配置限流規(guī)則,從而達(dá)到限流的目的,控制臺的搭建很簡單,我們通過官方地址下載指定版本的 jar 然后本地運(yùn)行即可。通過地址 https://github.com/alibaba/Sentinel/releases/download/1.8.4/sentinel-dashboard-1.8.4.jar 進(jìn)行下載。

然后通過命令java -Dserver.port=8081 -Dcsp.sentinel.dashboard.server=localhost:8081 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard-1.8.4.jar 運(yùn)行即可,如下所示:

這里我們通過指定 8081 端口,用于訪問 sentinel,啟動成功過后,通過瀏覽器我們可以進(jìn)行登錄,默認(rèn)的初始賬號和密碼都是 sentinel。

因?yàn)樯厦娴拿钗覀冎付?sentinel-dashboard 項(xiàng)目,所以默認(rèn)只會看到 sentinel-dashboard 這個項(xiàng)目,這個時候我們需要,修改代碼,在 pom.xml 中增加下面的配置。

<dependency>
<groupId>com.alibaba.csp</groupId>
<artifactId>sentinel-transport-simple-http</artifactId>
<version>1.8.4</version>
</dependency>

然后在 JVM 的啟動參數(shù)中增加-Dcsp.sentinel.dashboard.server=localhost:8081 指明 sentinel 的地址和端口號,再啟動我們的應(yīng)用。啟動完過后,我們要手動調(diào)用一下接口,然后就可以看到我們的程序項(xiàng)目連接到 sentinel 了。不過此時只是我們程序和 sentinel 連接成功,還沒有限流規(guī)則,接下來我們要配置一下限流規(guī)則。

按照上圖配置好了過后,我們再調(diào)用一次接口,可以看到此時我們的處理速度明顯慢了下來,每秒只有 20 個 QPS 能獲取資源了,至此我們基于 sentinel 的單機(jī)限流QPS 20 的目標(biāo)完成。

責(zé)任編輯:武曉燕 來源: Java極客技術(shù)
相關(guān)推薦

2020-05-25 15:20:47

容器DockerDocker Comp

2022-10-31 09:30:32

kafkaconsumer服務(wù)端

2020-05-19 16:36:50

漏洞iOS網(wǎng)絡(luò)攻擊

2011-07-12 10:33:46

CentOS 6

2024-01-31 13:05:00

模型訓(xùn)練

2024-12-12 14:56:48

消息積壓MQ分區(qū)

2021-02-24 08:38:48

Kafka消息Consumer

2025-07-29 09:09:47

2022-12-26 09:16:56

請求量代碼QPS

2016-09-21 13:52:53

服務(wù)器負(fù)載過載保護(hù)

2013-02-20 10:27:29

視覺設(shè)計(jì)師意見

2021-12-09 11:46:53

DockerIPLinux

2009-09-14 10:03:02

linuxlinux死機(jī)linux操作系統(tǒng)

2023-12-21 08:01:41

RocketMQ消息堆積

2021-07-01 21:49:48

微服務(wù)Nacos服務(wù)

2018-01-28 20:39:39

戴爾

2019-10-12 09:50:46

Redis內(nèi)存數(shù)據(jù)庫

2022-07-05 11:48:47

MySQL死鎖表鎖

2022-12-19 11:31:57

緩存失效數(shù)據(jù)庫

2017-02-21 13:11:43

SDN網(wǎng)絡(luò)體系SDN架構(gòu)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

中文字幕亚洲色图| а天堂8中文最新版在线官网| 欧美高清视频一二三区| 粉嫩av国产一区二区三区| 亚洲色图自拍| 91精品国产成人www| 亚洲欧美区自拍先锋| 欧美日韩亚洲在线观看| 我的公把我弄高潮了视频| 免费av一区二区| 91麻豆蜜桃一区二区三区| 天堂va欧美ⅴa亚洲va一国产| 少妇一晚三次一区二区三区| 亚洲国产欧美在线成人app| 高清av一区二区| 国产日韩欧美一区二区三区| 在线视频1区2区| 黄页在线播放| 亚洲人一区二区| 中国china体内裑精亚洲片| 97精品国产露脸对白| 久久久久蜜桃| 欧洲杯半决赛直播| 亚洲色图欧洲色图| 欧美日韩性生活视频| 国产理论在线| 91精品久久久久久久久99蜜臂| 亚洲欧洲国产日韩| 久久久成人网| 久久社区一区| 美女高潮在线观看| 伊人春色在线| 伊人婷婷久久| 日本一区二区在线播放| 91精品国产一区二区| 亚洲一区二区三区三| 亚洲九九爱视频| 成人免费一区二区三区在线观看| 日韩美女视频一区| 欧美日韩视频在线一区二区| 亚洲性生活视频| 国产一区二区三区丝袜| 亚洲第一成人在线| 久久综合色影院| 国产视频999| 少妇大叫太大太粗太爽了a片小说| 青青视频在线播放| 自拍偷拍99| 国产九九在线观看| porn亚洲| av成人男女| 我不卡神马影院| 日韩久久99| 欧美精品第三页| 欧美亚洲国产成人| av在线播放天堂| 国产成人无码av在线播放dvd| 黄色成人在线免费观看| 美女隐私在线观看| 麻豆精品一区| 欧美777四色影| 亚洲色图欧美激情| 中文字幕乱码久久午夜不卡| 久久久久国产成人精品亚洲午夜| 中文字幕日韩一区| 欧美一区二区三区婷婷月色 | 国产无遮挡一区二区三区毛片日本| 一区二区免费视频| 日韩欧美一级二级三级久久久| 欧美黑人巨大xxx极品| 精品不卡在线| 天天综合天天| 日韩伦理福利| 欧美日韩爆操| 在线日韩网站| 高清不卡一区二区| 欧美一区二区精品在线| 57pao精品| 一区二区三区视频在线观看免费| 欧洲日本在线| 91精品国产乱码久久久久久 | 亚洲国产成人久久综合一区| 成人看片人aa| 爆操妹子视频在线观看| 日本高清不卡一区二区三区视频| 国产精品久久久一区二区| 亚洲成人免费在线观看| 久久久精品在线| 成人黄色片免费| 九色porny丨入口在线| 久久久噜噜噜久久狠狠50岁| 偷窥国产亚洲免费视频| 日产精品99久久久久久| 亚洲一级免费观看| 欧美黄色成人| 91丨九色丨蝌蚪丨老版| 在线观看久久久久久| 成人小视频在线观看免费| 免费看男女www网站入口在线| 国产一区二区高清| 欧美一级理论片| 丝袜足脚交91精品| 末成年女av片一区二区下载| 久久国产麻豆精品| 在线视频亚洲欧美| 国产乱子夫妻xx黑人xyx真爽| 久久精品国产福利| 91免费看视频| 91国语精品自产拍在线观看性色| 国产精品天天av精麻传媒| 99这里只有精品视频| 亚洲精品视频一区二区| 国产成人免费av| 91精品国产综合久久久久久豆腐| 久久精品女人天堂| 亚洲天堂网在线观看| 免费看国产黄色片| 婷婷综合亚洲| 欧美videos中文字幕| 免费在线观看污污视频| 精品国产乱码久久久久久樱花| 成人免费小视频| 国产精品久久久久久久久久久久冷 | 国产嫩草影院久久久久| 亚洲欧洲综合另类在线| 最近日韩中文字幕中文| 九九九久久久久久| 不卡av免费在线| 天使と恶魔の榨精在线播放| 天天操夜夜操国产精品| 91麻豆精品国产91久久久| 国产精品无码电影在线观看| 成人爽a毛片| 亚洲国产日韩a在线播放| 国产精品毛片va一区二区三区| 欧美一级网址| 欧美伊人久久久久久午夜久久久久| 日本精品视频一区| 欧美一区 二区| 日韩视频一区在线观看| 美女在线视频一区二区| 亚洲专区一区| 国产999视频| 亚洲1234区| 日韩欧美主播在线| 欧美成人xxxxx| 蜜臀av性久久久久蜜臀aⅴ| 久久人人九九| 三妻四妾完整版在线观看电视剧| 国产精品区一区二区三区| 热99这里只有精品| 国产馆精品极品| 4438x成人网最大色成网站| 在线视频观看日韩| 综合精品久久| 欧美精品一卡| 在线国产日韩| 亚洲日产国产精品| 午夜亚洲视频| 国产日韩综合| 日产国产高清一区二区三区| 亚洲在线观看| 麻豆精品一区二区三区| 精品自在线视频| 免费黄色在线视频网站| 亚洲专区一区| 97超碰蝌蚪网人人做人人爽| 97电影在线| 国产亚洲va综合人人澡精品| 国产精品视频1区| 色婷婷av在线| 亚洲精品一卡二卡| 一本一本久久a久久精品综合妖精| 成人亚洲免费| 中文字幕日本不卡| 日韩精彩视频| 美女精品久久| 久久久999精品视频| 国产一级视频| 欧美日韩中文一区二区| 国产成人一区在线| www.国产精品一二区| 国内av一区二区三区| 欧美性猛交xxxx乱大交| 欧美福利在线播放| 中文字幕亚洲自拍| 全球中文成人在线| 日韩一区二区中文字幕| 成年人网站大全| 日韩精彩视频在线观看| 欧美一级片免费观看| 欧美精品aa| 欧美区二区三区| 免费**毛片在线| 国产精品久久久久久久久图文区 | 精品国产乱码久久久久久1区2匹| 亚洲一卡二卡三卡四卡五卡| 国产精品成人观看视频免费| 日韩精品成人av| 日韩va欧美va亚洲va久久|