1.下载Sentinel.jar可以图形界面配置限流和降级规则 地址:可能需要翻墙 下载jar文件 2.引入maven依赖
3.写个自动注入Resource的过滤器类(可以不写注解直接使用)
@Configuration
public class GatewayConfiguration {
private final List
private final ServerCodecConfigurer serverCodecConfigurer;
public GatewayConfiguration(ObjectProvider> viewResolversProvider,
ServerCodecConfigurer serverCodecConfigurer) {
this.viewResolvers = viewResolversProvider.getIfAvailable(Collections::emptyList);
this.serverCodecConfigurer = serverCodecConfigurer;
}
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public SentinelGatewayBlockExceptionHandler sentinelGatewayBlockExceptionHandler() {
// Register the block exception handler for Spring Cloud Gateway.
return new SentinelGatewayBlockExceptionHandler(viewResolvers, serverCodecConfigurer);
}
@Bean
@Order(Ordered.HIGHEST_PRECEDENCE)
public GlobalFilter sentinelGatewayFilter() {
return new SentinelGatewayFilter();
}
}
4.写配置文件 application.properties
# 服务端口
server.port=80
# 服务名
spring.application.name=service-gateway
#服务熔断
spring.cloud.sentinel.transport.dashboard=localhost:18080
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=192.168.56.1:8848
spring.main.allow-bean-definition-overriding=true
spring.profiles.active=dev
#使用服务发现路由
spring.cloud.gateway.discovery.locator.enabled=true
#设置路由id
spring.cloud.gateway.routes[0].id=service-cmn
#设置路由的uri
spring.cloud.gateway.routes[0].uri=lb://service-cmn
#设置路由断言,代理servicerId为auth-service的/auth/路径
spring.cloud.gateway.routes[0].predicates= Path=/*/cmn/**
5.cmd命令行启动jar文件访问localhost:18080页面,自己设置QPS java -jar -server.port=18080 sentinel-dashboard.jar --------不在微服务中使用,在普通springboot也可以使用-------- 1.maven依赖
2.service中写
@Service
public class UserService {
//不可以用在类上
@SentinelResource(value = "sayHello",fallback = "sayHellofail")
public String sayHello(){
return "Hello,World";
}
public String sayHellofail(){ //限流的方法
return "I'am sorry";
}
}
3.controller
@RestController
public class UserController {
@Autowired
UserService userService;
@RequestMapping("/hello")
public String hello(){
return userService.sayHello();
}
}
3.sentinel控制台查看
//快速访问
相关链接
大家都在找:
spring cloud:springcloud 阿里巴巴 五大组件
gateway:gateway是什么意思
sentinel:sentinel hl驱动下载
发表评论