菜单
本页目录

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即可 配置流控即可限制每秒请求数