SpringCloud哨兵如何实现接口限流的方法

  介绍

这篇文章给大家分享的是有关SpringCloud哨兵如何实现接口限流的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

前哨的官方标题是:分布式系统的流量防卫兵。从名字上来看,很容易就能猜到它是用来作服务稳定性保障的。对于服务稳定性保障组件,如果熟悉春云的用户,第一反应应该就是Hystrix。但是比较可惜的是Netflix已经宣布对Hystrix停止更新。那么,在未来我们还有什么更好的选择呢?除了春云官方推荐的resilience4j之外,目前春云阿里巴巴下整合的哨兵也是用户可以重点考察和选型的目标。

前哨的功能和细节比较多,一篇内容很难介绍完整,所以下面我会分多篇来一一介绍前哨的重要功能。本文就先从限流入手,说说如何把哨兵整合到春云应用中,以及如何使用哨兵仪表板来配置限流规则。通过这个简单的例子,先将这一套基础配置搭建起来。

1。启动哨兵仪表板

下载地址:哨兵

启动方式:java -Dserver。端口=8888罐sentinel-dashboard-1.6.0.jar

可以通过-Dserver.port=8888来切换启动的端口,-Dserver.servlet.session.timeout=7200:,用于指定春引导服务端会话的过期时间,如7200表示7200秒,60米表示60分钟,默认为30分钟,

<人力资源Helvetica Neue”、“巴航SC”、“微软YaHei”、“汉源无SC”、“诺托Sans CJK SC”、“WenQuanYi微黑”,无衬线;字体大小:15 px;空白:正常;"/>

这里我碰到一个问题:使用最新的哨兵仪表板1.7.1上。jar会出现问题

哨兵仪表板界面新增流控规则时报错:失败:无效的类型

主要问题是哨兵仪表板的jar包版本过高,导致代码里的sentinel-code版本与仪表板的版本不一致,最终报错。

github上的问题:https://github.com/alibaba/Sentinel/issues/1236 issuecomment - 571907232


启动后输入账号密码,全部为前哨,进入主页面

 SpringCloud哨兵如何实现接口限流的方法

,到此哨兵仪表板的启动就完成了,接下来启动项目

pom中加入

<>之前,,以前,com.alibaba.cloudspring-cloud-starter-alibaba-sentinel2.1.1.RELEASE

在配置文件中加入相关配置

春季
  ,云:
  ,,哨兵:
  ,,,运输:
  ,,,,仪表板:localhost: 8080 

在项目中写一个简单接口

 @GetMapping(“/解锁”)
  公共字符串锁()抛出异常{
  ,,返回“成功”;
  }

启动项目就可以了,在仪表板查看前,先调用接口几次,不然仪表板上可能看不到,这里我用jmeter请求了500次

 SpringCloud哨兵如何实现接口限流的方法

接下来测试限流的作用,点击簇点链路,选择要限流的接口,点击流控

 SpringCloud哨兵如何实现接口限流的方法

使用jmeter发起500次请求

 SpringCloud哨兵如何实现接口限流的方法

限流生效

感谢各位的阅读!关于SpringCloud哨兵如何实现接口限流的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

SpringCloud哨兵如何实现接口限流的方法