springcloud——openfeign

OpenFeign简化了SpringCloud中服务间的调用,通过定义和注解接口实现声明式的服务调用,结合Ribbon实现负载均衡。它降低了客户端的开发复杂性,只需要提供接口和注解,就能完成服务绑定。文章还提到了相关的Maven坐标、Eureka配置以及启用Feign的示例。
摘要由CSDN通过智能技术生成

openfeign:服务接口调用

  1. Feign 使编写Java Http客户端变的更容易。
  2. 前面在使用Ribbon+RestTemplate时,利用RestTemplate对Http请求的封装处理,形成了一套模板化的调用方法。但是在实际开发中,由于服务依赖的调用可能不止一处,往往一个接口会被多处调用,所以通常都会对每个服务自行封装一些客户端类来包装这些依赖服务的调用。所以,Feign在此基础上做了进一步封装,由他来帮助我们定义和实现依赖服务接口的定义。在Feign的实现下我们只需创建一个接口并使用注解方式来配置它(以前是Dao接口上标注Mapper注解,现在是一个微服务接口上面标注一个Feign注解即可),即可完成对服务接口的绑定,简化了使用springcloud Ribbon时,自动服务调用客户端的开发量。
  3. Feign集成了Ribbon
  4. 利用Ribbon维护了Payment的服务列表信息,并且通过轮询实现了负载均衡。Feign与Ribbon不同的是,通过Feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用。

open feign 依赖Maven坐标

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

 配置文件配置 yml:

-------------------------------------------------------------------------------------------------------------------------------

server:
  port: 80

eureka:
  client:
    reister-with-eureka: false
#    fetchRegistry: true
    service-url:
      defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/
      # 注册地址
      # defaultZone: http://localhost:7001/eureka

------------------------------------------------------------------------------------------------------------------------

启动类上加 激活组件:

@SpringBootApplication
@EnableFeignClients
public class OrderFeignMai80 {
    
    /** @EnableFeignClients 启动类上加激活组件 * */
    public static void main(String[] args) {
        SpringApplication.run(OrderFeignMai80.class, args);
    }
}

------------------------------------------------------------------------------------------------------------------------------

接口上加注解

@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE")
public interface PaymentFeignService {

    @GetMapping(value = "/payment/get/{id}")
    public CommonResult<Payment> getPaymentById(@PathVariable("id") Long id);
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值