openfeign ribbon 负载_OpenFeign与Ribbon源码分析总结(面试题)

本文总结了OpenFeign与Feign的关系,Feign的底层实现原理,Ribbon的基本概念及其如何实现负载均衡和失败重试。OpenFeign作为Feign的扩展,简化了服务调用。Ribbon作为客户端负载均衡器,提供了多种负载均衡算法并支持重试。在整合Ribbon和Eureka的过程中,Ribbon通过IClientConfig获取服务提供者,实现客户端的负载均衡决策。
摘要由CSDN通过智能技术生成
73d59f475a1d33da45fab0953b5c2b57.gif关注 “Java艺术”一起来充电吧!

从以往的源码分析文章的阅读量不难看出,大家都不太喜欢看源码分析类文章,一是枯燥,二是难看懂(可能也是笔者写得不好吧,源码分析类文章确实难写),所以本篇就是总结前两篇文章内容的,结合面试题做个总结。

  • OpenFeign与Feign的关系

  • Feign底层实现原理

  • Ribbon是什么

  • Ribbon底层实现原理

  • Ribbon是如何实现失败重试的?

OpenFeign与Feign的关系

feign不是一个中间件,feignspring cloud组件中的一个轻量级restfulhttp服务客户端。其作用是简化接口的调用,将http调用转为rpc调用,让调用远程接口像同进程应用内的接口调用一样简单。

dubborpc远程调用一样,通过动态代理实现接口的调用。feign通过封装包装请求体、发送http请求、获取接口响应结果、序列化响应结果等接口调用动作来简化接口的调用。

openfeignspring cloudfeign的基础上支持了spring mvc的注解,如@RequesMapping@GetMapping@PostMapping等。openfeign还实现与Ribbon的整合。

服务提供者只需要提供API接口,而不需要像dubbo那样需要强制使用implements实现接口,即使用fegin不要求服务提供者在Controller使用implements关键字实现接口。

Feign底层实现原理

openfeign通过包扫描将所有被@FeignClient注解注释的接口扫描出来,并为每个接口注册一个FeignClientFactoryBea

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值