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

浙公网安备 33010602011771号