Feign客户端调用

本文介绍了Feign作为Spring Cloud的声明式WebService客户端,如何简化服务调用。Feign支持JAX-RS注解,可以与Eureka和Ribbon结合实现负载均衡。通过创建接口并添加注解,即可完成服务接口的绑定,减少了手动封装客户端的工作。Feign内部集成了Ribbon,实现了优雅的负载均衡策略。文章提供了简单使用Feign的步骤,包括引入依赖、配置YML、定义接口、编写控制器和启用Feign客户端。
摘要由CSDN通过智能技术生成

Feign是一个声明式WebService客户端。使用Feign能让编写WebService客户端更加加单,它的使用方法是定义一个接口,然后在上面添加注解,同时也支持JAX-RS标准的注解。Feign也支持可插拔式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了SpringMVC白哦准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。

只需要创建一个接口,然后在上面添加注解即可。

github官网:https://github.com/OpenFeign/feign

在前面客户端是使用Ribbon+RestTemplate访问服务端,利用RestTemplate对http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由于对服务依赖的调用可能不止一处,往往一个接口会被多出调用,所以通常会针对每个微服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feign再次基础上做了进一步封装,由他来帮助我们定义和实现依赖服务接口的定义。在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它(以前是Dao接口上标注Mapper注解,现在是一个微服务接口上面住一个Feign注解即可),即可完成对服务提供方的接口绑定,简化了使用Spring Cloud Ribbon时,自动封装服务调用客户端的开发量。

Feign集成了Ribbon,利用Ribbon维护了微服务的服务列表信息,并通过轮询实现类客户端的负载均衡,而与Ribbon不同的是,通过Feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现类服务调用。如果需要更改负载策略,同Rest调用的修改方式一样,只需要在容器中注入IRule的实现类即可。

@Configuration
public class ConfigBean {
   

	@Bean
	public IRule getRule() {
   
		return new RandomRule();
	}
}

简单使用:
1、创建通过Feign调用的消费者工程,引入Feign依赖,其他的依赖跟普通的Rest调用相同

		<dependency>
			<groupId>org.springframework.cloud</groupId>
			
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值