sentinel服务熔断环境搭建

 

 

 

 

 

 

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.msb</groupId>
            <artifactId>springcloud-commons</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

 

 

server:
  port: 8084
spring:
  cloud:
    sentinel:
      transport:
        dashboard: localhost:8080
        port: 8719
    nacos:
      discovery:
        server-addr: localhost:8848
  application:
    name: nacos-customer

service-url:
  nacos-user-service: http://nacos-provider
@RestController
public class DemoController {
    @Autowired
    RestTemplate restTemplate;
    @Value("${service-url.nacos-user-service}")
    private String SERVICE_URL;

    @GetMapping("/customer/fallBack/{id}")
    public JsonResult fallBack(@PathVariable Long id){
        System.out.println(id);
        //通过ribbon发起远程调用,访问9003,9004
        JsonResult jsonResult=restTemplate.getForObject(SERVICE_URL+"/info/"+id,JsonResult.class);

        return jsonResult;
    }

}

 

 @LoadBalanced 实现ribbon的负载均衡

 

conmm里面的实体类

 

 

 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

provider环境搭建

 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.msb</groupId>
            <artifactId>springcloud-commons</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
@RestController
public class DateController {

    @Value("${server.port}")
        private String port;

    //模仿数据库
    public static HashMap<Long,String> hashMap=new HashMap<>();
    static {
        hashMap.put(1l,"鼠标");
        hashMap.put(2l,"键盘");
        hashMap.put(3l,"显示器");
        hashMap.put(4l,"音箱");
    }


    @GetMapping("/info/{id}")
    public JsonResult<String> mysql(@PathVariable("id") Long id){
        JsonResult<String> result = new JsonResult<>(200, "serverPort:"+port+ hashMap.get(id));
        System.out.println(result);
        return result;
    }

}
# 应用名称
spring:
  application:
    name: nacos-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
server:
  port: 9003
management:
  endpoints:
    web:
      exposure:
        include: '*'

9003和9004配置相同,只是端口不同

posted @ 2022-03-15 16:33  花心大萝卜li  阅读(51)  评论(0)    收藏  举报