sentinel

sentinel dashboard本地运行

2019-10-23  本文已影响0人  lesline

启动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

上一篇下一篇

猜你喜欢

热点阅读