Ribbon:默认使用轮询进行负载均衡,如果要自己重写负载均衡算法,那么就要把配置类放到@ComponentScan扫描包的外面。
模仿ribbon手写自己的负载均衡,取消 new RestTemplate()的@LoadBalanced注解,不然请求会被ribbon拦截,主要是使用DiscoveryClient查找所有的服务,然后调用自己写的负载均衡算法获取ServiceInstance对象,之后使用RestTemplate请求ServiceInstance对象的uri+接口名访问即可。
OpenFeign:在客户端启动类添加@EnableFeignClients注解,在service接口添加@FeignClient注解,将微服务的接口添加到service的方法中,例如
之后在客户端的controller层即可调用service的方法,也即能调用到对应的微服务。
可以设置OpenFeign的超时与日志,feign默认1秒超时。