Spring Cloud 服务消费与负载均衡(feign)

  feign是一个声明式的伪客户端,只需要创建一个接口并且注解,它具有可插拔的特性。feign集合了Ribbon,再与Eurake结合实现服务的注册发现与负载均衡。结合Hystrix,具有熔断功能。

  1.使用步骤首先引入feign,eureka, hystrix的jar包

  2.启动两次服务提供者

  3.配置文件声明注册中心地址,声明端口号,服务名

eureka:
  client:
    serviceUrl:
        defaultZone: http://localhost:8761/eureka/

spring:
    application:
        name: service-feign
server:
  port: 8764

  4.在启动文件上声明@EnableFeignClient

  5.创建接口类

  

@FeignClient(value = "service-hi") //服务提供者的服务名称
public interface SchedualServiceHi {
    @RequestMapping(value = "/hi",method = RequestMethod.GET)
    String sayHiFromClientOne(@RequestParam(value = "name") String name);
}

  6.在controller层暴露一个 /hi的接口出去,通过定义的FeignClien来消费服务

@RestController
public class HiController {
    @Autowired
    SchedualServiceHi schedualServiceHi;
    @GetMapping(value="/hi")
    public String sayHi(@RequestParam String name){
        return schedualServiceHi.sayHiFromClientOne(name);
    }
}

  7.启动浏览器,发送请求 http://localhost:8765/hi?name=zhangsan,服务的提供者会交替被调用.

原文地址:https://www.cnblogs.com/zmeRecord/p/9951027.html