秒杀场景_Sentinel在秒杀场景的应用_05
生活随笔
收集整理的這篇文章主要介紹了
秒杀场景_Sentinel在秒杀场景的应用_05
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上一篇解決了在高并發秒殺場景下的超賣問題,這一篇主要解決如何利用Sentinel防止服務器雪崩。
文章目錄
- 一、 商品微服務集成Sentinel
- 1. 引入依賴
- 2. 添加配置
- 二、 秒殺微服務集成Sentinel
- 2.1. 引入依賴
- 2.2. 添加配置
- 三、 Sentinel流控規則
- 3.1. 登錄Sentinel
- 3.2. 請求秒殺
- 3.3. 配置秒殺流控01
- 3.4. 單機閾值獲取
- 3.5. 配置秒殺流控02
一、 商品微服務集成Sentinel
1. 引入依賴
<!--流控組件sentinel--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>2. 添加配置
server:port: 9000 spring:cloud:nacos:discovery:service: product-servserver-addr: localhost:8848sentinel:transport:dashboard: localhost:8888datasource:url: jdbc:mysql://localhost:3306/skill?characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: 123456redis:host: localhostport: 6379二、 秒殺微服務集成Sentinel
2.1. 引入依賴
<!--流控組件sentinel--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>2.2. 添加配置
server:port: 13000 spring:cloud:nacos:discovery:service: skill-servserver-addr: localhost:8848sentinel:transport:dashboard: localhost:8888datasource:url: jdbc:mysql://localhost:3306/skill?characterEncoding=UTF-8&serverTimezone=GMT%2B8username: rootpassword: 123456redis:host: localhostport: 6379三、 Sentinel流控規則
3.1. 登錄Sentinel
賬號/密碼:sentinel/sentinel
3.2. 請求秒殺
由于Sentinel 屬于懶加載
http://localhost:13000/skill?productId=1&userId=1
默認:不顯示
請求之后涉及的應用就會顯示
3.3. 配置秒殺流控01
配置單機閾值
3.4. 單機閾值獲取
單機閾值獲取的方式可以借助工具jmeter聚合報告中的異常比率來獲取。
流程:
首先,請求秒殺微服務,設定并發數,如果不知奧秒殺服務能夠承受多大的并發,可以先設置你覺得能夠承受的并發數,10000,1000,500都可以,等會咱們會根據異常數,來調整秒殺服務真正能承受的并發數。
演示:第一輪先設置500
線程組名稱為:秒殺線程組
線程數:500
Ramp-UP時間(秒):5
循環次數:1
釋義:5秒之內啟動500個線程數,簡言之,模擬500個用戶并發請求
添加http請求:
添加聚合報告
并發壓測,依次類推,知道異常比率你能接受的范圍,并發數就設置多少。
3.5. 配置秒殺流控02
比如,我能接受的異常比例是0.002%,對應的并發數是500,那我設置單機閾值就是500,查過這個閾值,我這里暫時處理為直接失敗,根據企業實際情況,設置失敗策略
總結
以上是生活随笔為你收集整理的秒杀场景_Sentinel在秒杀场景的应用_05的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zipkin 基于MQ存 储链路信息至
- 下一篇: Hadoop集群安装部署_伪分布式集群安