Sentinel 下载 SpringCloud整合Sentinel、Feign整合Sentinel、授权规则

1.下载

下载官网 GitHub:https://github.com/alibaba/Sentinel

将其拷贝到一个你能记住的非中文目录,然后运行命令:

# 使用jdk8
java -jar sentinel-dashboard-1.8.1.jar

在这里插入图片描述

然后访问:localhost:8080即可看到控制台页面,默认的账户和密码都是sentinel

在这里插入图片描述
更多详情使用参考官方文档:https://github.com/alibaba/Sentinel/wiki

2.微服务整合Sentinel

  1. 引入sentinel依赖:
<dependency>
	<groupId>com.alibaba.cloud</groupId>
	<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
  1. 配置控制台地址:
spring: 
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080 # sentinel控制台地址
  1. 访问微服务的任意端点,触发sentinel监控

3.Feign整合Sentinel

SpringCloud中,微服务调用都是通过Feign来实现的,因此做客户端保护必须整合Feign和Sentinel。

  1. 修改OrderService的application.yml文件,开启Feign的Sentinel功能
feign:
  sentinel:
    enabled: true #开启Feign的Sentinel功能
  1. 给FeignClient编写失败后的降级逻辑
    方式一:FallbackClass,无法对远程调用的异常做处理
    方式二:FallbackFactory,可以对远程调用的异常做处理,我们选择这种

在feing-api项目中定义类,实现FallbackFactory:

在这里插入图片描述

在feing-api项目中的DefaultFeignConfiguration类中将UserClientFallbackFactory注册为一个Bean:

在这里插入图片描述

在feing-api项目中的UserClient接口中使用UserClientFallbackFactory:

在这里插入图片描述

4.授权规则

Sentinel是通过RequestOriginParser这个接口的parseOrigin来获取请求的来源的

在这里插入图片描述

例如,我们尝试从request中获取一个名为origin的请求头,作为origin的值:

在这里插入图片描述

我们还需要在gateway服务中,利用网关的过滤器添加名为gateway的origin头:

spring:
  cloud:
    gateway:
      default-filters:
        - AddRequestHeader=origin, gateway #添加名为origin的请求头,值为gateway
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KiriSoyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值