(1)在主程序类名上添加注解: @EnableEurekaServer
开启Eureka注册中心功能
(2)在主程序类名上添加注解:@EnableDiscoveryClient*
将自己自动注册到注册中心
(3)给容器中注入一个RestTemplate并使用Ribbon进行负载均衡调用
@LoadBalanced //负载均衡
@Bean
public RestTemplate restTemplate(){
return new RestTemplate();
}
(4)@EnableFeignClients:开启Feign功能;通过动态代理的方式实现负载均衡调用其他服务。
/**
* 调用指定服务名称 “CLOUD-PROVIDER-MOVIE” 的 @GetMapping("/movie") 映射方法
* 这个方法声明与电影服务端Controller映射的方法声明一致即可。
*/
@FeignClient(value="CLOUD-PROVIDER-MOVIE") //与被调用端的服务名称一致
public interface MovieServiceFeign {
@GetMapping("/movie")
public Movie getNewMovie(); //与被调用服务端的映射方法一致
}
(5)开启断路保护功能**@EnableCircuitBreaker**
通过@HystrixCommand(fallbackMethod=“xxx”)来指定出错时调用xx方法
/*使用Hystrix进行服务的熔断
* 1)、引入Hystrix的starter
* 2)、开启xxx功能 :@EnableCircuitBreaker
* 3)、@FeignClient(value="CLOUD-PROVIDER-MOVIE",fallback=指定这个接口的异常处理类(异常处理类必须实现这个接口))
*/
@FeignClient(value="CLOUD-PROVIDER-MOVIE",fallback=MovieFeignExceptionHandlerService.class)
(6)开启可视化监控功能
@EnableHystrixDashboard
@EnableHystrix