Sentinel工作原理
介绍
资源&规则
工作原理
只需关注,资源,规则,兜底回调三个方面即可
整合
引入依赖
<!-- sentinel服务熔断-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
sentinel会将主流框架的web接口自动适配为资源,我们也可使用@SentinelResource来自己指定资源
@SentinelResource(value = "createOrder")
@Override
public Order createOrder(Long productId, Long userId) {
// Product product = getProductFromRemote(productId);
// Product product = getProductFromRemoteWithLoadBalance(productId);
// Product product = getProductFromRemoteWithLoadBalanceAnnotation(productId);
//使用feign完成远程调用
Product product = productFeignClient.getProductById(productId);
Order order = new Order();
order.setId(1L);
配置sentinel
spring:
cloud:
openfeign:
client:
config:
default:
logger-level: full
connect-timeout: 1000
read-timeout: 2000
service-product:
logger-level: full
connect-timeout: 3000
read-timeout: 5000
sentinel:
transport:
dashboard: localhost:8080
# 取消懒加载,服务启动即可在sentinel控制台看到
eager: true
使用jar包的方式启动sentinel即可
配置流控即可限制每秒请求数