博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[case32]alibaba限流组件Sentinel实战
阅读量:6291 次
发布时间:2019-06-22

本文共 2016 字,大约阅读时间需要 6 分钟。

本文主要研究一下如何使用alibaba开源的限流组件Sentinel

maven

org.springframework.cloud
spring-cloud-starter-sentinel
0.2.0.BUILD-SNAPSHOT
org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-web
  • spring-cloud-starter-sentinel在maven仓库没有的话自己本地install一下

配置

server.port=8080spring.application.name=sentinel-demospring.cloud.sentinel.port=7080spring.cloud.sentinel.dashboard=localhost:9999management.endpoints.web.exposure.include=*
  • 这里指定应用的端口为8080,与sentinel server通信端口为7080,sentinel server的地址为localhost:9999

启动dashboard

java -Dserver.port=9999 \-Dcsp.sentinel.dashboard.server=localhost:9999 \-Dproject.name=sentinel-dashboard \-jar sentinel-dashboard.jar

增加限流规则

图片描述

访问应用的sentinel端点::8080/actuator/sentinel,返回如下:

{  "DegradeRules": [],  "SystemRules": [],  "FlowRules": [    {      "resource": "/actuator",      "limitApp": "default",      "grade": 1,      "count": 10,      "strategy": 0,      "refResource": null,      "controlBehavior": 0,      "warmUpPeriodSec": 10,      "maxQueueingTimeMs": 500    }  ],  "properties": {    "enabled": true,    "port": "7080",    "dashboard": "localhost:9999",    "filter": {      "order": -2147483648,      "urlPatterns": [        "/*"      ]    }  }}

限流验证

wrk -t12 -c1000 -d10s -T30s  --latency http://localhost:8080/actuator

访问dashboard

图片描述

可以看到每分钟的拒绝次数,另外也可以通过实时监控来看图形化曲线

图片描述

蓝色的曲线为b_qps,即被blocked的请求的qps

被流控之后,接口返回

curl -i http://localhost:8080/actuatorHTTP/1.1 200Transfer-Encoding: chunkedDate: Sun, 12 Aug 2018 13:41:15 GMTBlocked by Sentinel (flow limiting)

小结

这里使用的是spring-cloud-alibaba的组件,跟spring-cloud-netlfix类似,是alibaba的开源组件融入spring cloud的部分,现在提供了对sentinel的集成,非常方便。

doc

转载地址:http://rocta.baihongyu.com/

你可能感兴趣的文章
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
ClientScriptManager与ScriptManager向客户端注册脚本的区别
查看>>
js和php中几种生成验证码的方式
查看>>
android UI进阶之仿iphone的tab效果1
查看>>
这是我的第1个C#程序(向控制台输出一句话)
查看>>
html
查看>>
Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第三部分:SqlField)
查看>>
颜色空间系列4: RGB和YDbDr颜色空间的转换及优化算法
查看>>
Unity C# 设计模式(七)适配器模式
查看>>
Lancel sac négociation avec insistance que nous pourrions réaliser de quelle route
查看>>
空白表单提交到后台的数据类型总结(java)
查看>>
Vue问题区
查看>>
[原]Unity3D深入浅出 - Shader基础开发
查看>>
netty之ByteBuf详解
查看>>