SpringCloud之Feign组件

Spring Cloud通信

微服务之间通讯方式一般为两种,一种是RPC,一种是HTTP,其中Dubbo为RPC的代表,

Spring Cloud为HTTP的代表,Spring Cloud微服务架构下本身用的是HTTP restful方式,

HTTP restful本身轻量、易用、适用性强,可以很容易的跨语言跨平台,与已有的SpringCloud微服务交互

Spring Cloud服务间两种restful调用方式

  1. RestTemplate

  2. Feign

Feign介绍

Feign具有如下特性:

  • 可插拔的注解支持,包括Feign注解和JAX-RS注解;
  • 支持可插拔的HTTP编码器和解码器;
  • 支持Hystrix和它的Fallback;
  • 支持Ribbon的负载均衡;
  • 支持HTTP请求和响应的压缩。

Feign使用

说明:

  • 声明式REST客户端(伪RPC)
  • 采用了基于接口的注解

其内部使用Ribbon做负载均衡,不用关心负载问题

使用流程:

1.添加依赖

<dependency> 

    <groupId>org.springframework.cloud</groupId> 

    <artifactId>spring-cloud-starter-feign</artifactId> 

</dependency>

2.在启动的主类上添加启动注解

 
@SpringBootApplication 
@EnableDiscoveryClient 
@EnableFeignClients 
public class OrderApplication{ 
    public static void main(String [] args){ 
        SpringApplication.run(OrderApplication.class, args); 
    } 
}

3.定义一个Interface,添加注解

/** 
 * Feign Interface Demo 
 * @author xiehua 
 */ 
@FeignClient(name = "product") 
public interface ProductClient{ 
    @PostMapping("/getProductListByIds") 
    List<ProductInfo> getProductListByIds(@RequstBody List<String> productIdList); 

    @GetMapping("getProductDetail") 
    ProductInfo getProductDetail(@RequestParam("productId")String productId); 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值