一.feign是啥?
feign是声明式的web service客户端,它让微服务之间的调用变得更简单容易,类似controller调用service。
Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端
二 .使用(此处用生产方和消费方来作比较,意如字义,这样容易通俗易懂些)
Eureka注册中心集群和之前时一样的,这里就不多说了
2.1 服务生产者
(1)启动类
(2)application.yml配置
(3)接口样列
启动项目后可以更换不同的端口重复启动,没启动一次,服务就会多一个节点,从上面的项目中可以看出大概意思就是这一个项目的作用就是提供一个服务名字叫“productAclient”(调用时全部大写),这个服务中提供一个叫
“/getuser”的嗲用方法,返回User对象。
2.2 服务消费端
(1)pom.xml引入
(2)启动类
(3)application.yml文件配置和之前是一样的
(4) 接下里就是怎么去做Feign的调用了,在项目中和Controller包同级的位置建立一个包,里面建立一个轴向类,抽象方法就是服务端以提供你需要调用的方法,内容如下图
控制层调用
接下来把服务端和服务提供者,服务调用者等依次启动,再去访问“/Info”这个方法,就会发现可以调用服务提供方的接口放回User对象了,而且每次调用的节点都会不一样,这就是Feign的负载均衡实现。