美文网首页sentinel
sentinel dashboard本地运行

sentinel dashboard本地运行

作者: lesline | 来源:发表于2019-10-23 18:03 被阅读0次

    启动sentinel.dashboard

    (1)打包
    mvn clean package
    (2)启动

    java -Dserver.port=8080 -Dcsp.sentinel.dashboard.server=localhost:8080 -Dproject.name=sentinel-dashboard -jar sentinel-dashboard.jar
    

    查看启动情况:Sentinel Dashboard

    Spring boot项目启动

    (1)增加pom引用

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.SR1</spring-cloud.version>
    </properties>
    
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        <version>0.2.2.RELEASE</version>
    </dependency>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>0.2.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    

    (2)增加配置类

    import com.alibaba.csp.sentinel.slots.block.RuleConstant;
    import com.alibaba.csp.sentinel.slots.block.flow.FlowRule;
    import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.stereotype.Component;
    
    import javax.annotation.PostConstruct;
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * @author zhangshaolin
     * @create 2019/1/11
     */
    @Component
    @Slf4j
    public class SentinelConfig {
    
        @PostConstruct
        public void init() {
            List<FlowRule> rules = new ArrayList<FlowRule>();
            FlowRule rule1 = new FlowRule();
            rule1.setResource("AAAA");
            // set limit qps to 20
            rule1.setCount(20);
            rule1.setGrade(RuleConstant.FLOW_GRADE_QPS);
            rule1.setLimitApp("default");
            rules.add(rule1);
            FlowRuleManager.loadRules(rules);
        }
    }
    
    import org.springframework.web.bind.annotation.GetMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class TestController {
    
        @GetMapping(value = "/hello")
        public String hello() {
            return "Hello Sentinel";
        }
    
    }
    
    

    (3)修改application.yml

    spring:
      application:
        name: biz-finance-service
      profiles:
        active: dev
        default: dev
      cloud:
        sentinel:
          transport:
            dashboard: localhost:8080
            eager: true
    

    启动服务后访问查看结果

    1. 触发规则:http://localhost:8067/hello
    2. 查看:Sentinel Dashboard

    只有触发规则时Dashboard上才会显示

    参考

    Sentinel 实战-控制台篇 - 简书
    Springboot集成sentinel实现接口限流入门 - tianyaleixiaowu的专栏 - CSDN博客
    Sentinel · alibaba/spring-cloud-alibaba Wiki · GitHub

    相关文章

      网友评论

        本文标题:sentinel dashboard本地运行

        本文链接:https://www.haomeiwen.com/subject/kfnkvctx.html