Spring Cloud使用consul作为服务注册发现配置中心,服务会在consul中注册健康检测地址,所以直接可以通过consul获取指定服务的状态信息
@RestController
@RequestMapping("consul")
public class ConsulServiceController {
@Value("${spring.profiles.active}")
private String profile;
@Autowired
private ConsulConfigProperties consulConfigProperties;
@Autowired
private ConsulClient connsulClient;
@GetMapping("status")
public Mono<Response<List<Check>>> status(String service) {
return Mono.justOrEmpty(connsulClient.getHealthChecksForService(service, QueryParams.DEFAULT));
}
}
网友评论