天天看点

SpringCloud系列之feign客户端负载均衡

前言:

        前面整合了ribbon+restemplate实现了客户端的负载均衡,本文将实现通过feign客户端完成负载均衡。

一、简介、

        SpringCloud Feign是基于Netflex feign实现,声明式的Web服务客户端定义的方式。Spring Cloud Feign具备可插拔的注解支持,支持Feign注解、JAX-RS注解和Spring MVC的注解。

二、环境搭建

       1、修改父工程(封装公共Bean和接口),添加相关得依赖

<dependency>
		<groupId>org.springframework.cloud</groupId>
  		<artifactId>spring-cloud-starter-feign</artifactId>
	</dependency> 
           

        在原基础上增加依赖

     2、在接口上增加注解

SpringCloud系列之feign客户端负载均衡

value表示微服务名称

通过@RequestMapping映射到各个接口得实现类

3、由于父工程被修改,重新Maven-install。

4、在客户端增加相关得依赖

<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-feign</artifactId>
	 </dependency>
           

5、修改客户端代码,将原来得通过RestTemplate调用修改成通过接口调用

SpringCloud系列之feign客户端负载均衡

6、修改客户端启动类

@SpringBootApplication
@EnableEurekaClient
@EnableFeignClients(basePackages = {"com.tommy.spring"})
@ComponentScan("com.tommy.spring")
public class Dept_Consumer_FeginApp {

	public static void main(String[] args) {
		
		SpringApplication.run(Dept_Consumer_FeginApp.class, args);
	}
	
}
           

增加@EnableEurekaClient

@EnableFeignClients(basePackages = {"xxxxx"})

@ComponentScan("xxxx")

将客户端注册到eureka,启动Feign客户端,Feign客户端会自动在Eureka寻找注册得服务,并默认通过轮询调用。

继续阅读