最近在微服务项目中整合sentinel,使用的版本是官网推荐的2.2.1.RELEASE版本
最先整合的网关 gateway,第一个坑来了
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
</dependency>
引入了相关依赖,配置什么的,打开控制台配置了限流规则,无效!!!!!!!
然后就开始了各种百度、google之旅,都无果
然后折腾了大半天尝试了百度上面的整合都是可以的,于是就开始怀疑版本问题
然后,尝试降低版本
然后…… 果然可以了
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-sentinel-gateway</artifactId>
</dependency>
然后我就用这个版本开始整合其他的微服务,第二个坑来了
网关后面的微服务,引入jar包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.2.0.RELEASE</version>
</dependency>
打开控制台开始配置,各种测试,到了授权规则配置
配置了还是无效
百度了之后说是用的方法有误,官方给的文档又说的不明不白的
加上配置
@Component
public class RequestOriginParserDefinition implements RequestOriginParser {
@Override
public String parseOrigin(HttpServletRequest request) {
return request.getParameter("sourceName");
}
}
控制台中的流控应用需要自己去实现获取应用名称
加上了还是没用
于是又开始了漫长的百度、google之旅,无果
然后又开始怀疑版本问题
然后
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
然后就可以了
最后
这里我真的要吐槽下了,这都是什么鬼东西啊,是我电脑问题吗!!!!!!!!
然后我只能屈服 网关用 2.2.0.RELEASE 版本
其他的就用 2.2.1.RELEASE 版本
我吐了