Feign简介
Feign是一个声明式的Web服务客户端,使用Feign可使得Web服务客户端的写入更加方便。
它具有可插拔注释支持,包括Feign注解和JAX-RS注解、Feign还支持可插拔编码器和解码器、Spring Cloud增加了对Spring MVC注释的支持,并HttpMessageConverters在Spring Web中使用了默认使用的相同方式。Spring Cloud集成了Ribbon和Eureka,在使用Feign时提供负载平衡的http客户端。
作用:可以解决不同服务器接口之间的相互调用,即跨域请求!feign结合eureka注册中心,把不同的服务项目注册到eureka中,通过feign客户端进行调用,可以解决负载均衡问题,具体代码事例如下:
1.注册中心eureka(eureka-service)
pom.xml:
application.yml:
启动类:
浏览器输入:localhost:8761 界面如下:
创建一个生产者服务器:(eureka-client)
pom.xml:
application.yml:
启动类:
启动后浏览器输入:
localhost:7073效果如下:
消费者服务:(eureka-client002):
pom.xml:
application.yml:
启动类:
dao层接口:
cloud-client001 :生产者注册名字
“/product” :生产者里面的接口名
再增加一些service代码(调用dao接口方法,这里省略)
controller层:
启动后输入:laocalhost:7072/feigen/zhangsan00 效果如下:
负责均衡处理:
修改生产者代码中application.yml代码中的端口号7071
把controller中接口为(“/product”)接口方法内容稍加改动,启动该项目
在浏览器输入:laocalhost:7072/feigen/zhangsan00 浏览器中显示的内容一会是端口号7073中的内容 一会是7071中的内容,来回进行切换,实现负载均衡效果!