Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端,Feign本身不支持Spring MVC的注解,它有一套自己的注解,OpenFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解,Feign内置了Ribbon,用来做客户端负载均衡。只有是客户端的项目才会发起接口调用,所以OpenFeign是用于客户端的。
使用OpenFeign的步骤:
引入jar包
启动类加注解
编写Api接口
控制器调用
配置Ribbon随机轮询
每个IDE新建项目过程可能不同,所以在官网上建项目:添加链接描述
eureka 注册中心项目 (需要引入eureka-server组件) – 注册中心的服务端
product-service 服务提供者项目 (需要引入eureka-client组件) – 注册中心的客户端
consumer 消费者项目 (需要引入eureka-client组件) – 注册中心的客户端
配置文件 *.yml 中配置
#需要改变ribbon轮询调用方式的服务名
product-service:
ribbon:
# 改为随机的方式
NFLoadBalancerRuleClassName:com.netflix.loadbalancer.RandomRule
用eureka中大写的服务名PRODUCT-SERVICE客户端会无效
使用SpringCloud做Ribbon负载均衡策略修改时,做了对应配置如下:
@Bean
public IRule getRandomRule() {
return