1. 程式人生 > 其它 >sentinel服務熔斷環境搭建

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配置相同,只是埠不同