大厂学苑-声明式客户端openfeign与负载均衡.pdfVIP

大厂学苑-声明式客户端openfeign与负载均衡.pdf

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1.1概述

1.1.1OpenFeign简介

()网简介

式REST客户端:Feign通过使用JAX-RS或SpringMVC注解的装饰方式,生成接口的

动态实现。

()综合说明

前面官网的简介是什么意思呢?

Feign,,的

OpenFeign可以将提供者提供的Restful服务为接口进行消费,消费者只需使用“feign

接口+注解”的方式即可直接调用提供者提供的Restful服务,而无需再使用RestTemplate。

注意,OpenFeign只有消费者有关,与提供者没有任务关系。

1.1.2Ribbon与OpenFeign

说到OpenFeign,不得不提的就是Ribbon。OpenFeign默认Ribbon作为负载均衡组件。

OpenFeign直接内置了Ribbon。即在导入OpenFeign依赖后,无需再专门导入Ribbon依赖了。

1

OpenFeign也是运行在消费者端的,使用Ribbon进行负载均衡,所以OpenFeign直接内

置了Ribbon。即在导入OpenFeign依赖后,无需再专门导入Ribbon依赖了。

1.1.3消费者客户端技术选型

无论使用SpringCloud还是使用SpringCloudAlibaba,消费者调用提供者服务都是需要

使用客户端来提交消费请求的。常见的消费者客户端有如下三种,各有优劣。

()RestTemplate

()OpenFeign

()DubboSpringCloud

2

1.2OpenFeign源码解析

1.2.1重要类与接口解析

()@EnableFeignClients

在SpringBoot中存在大量的@EnableXxx这种注解。它们的作用是,开启某项功能。其

实它们本质上是为了导入某个类来完成某项功能。所以这个注解一般会组合一个@Import

注解用于导入类。导入的类一般有三种:

配置类:一般以Configuration结尾,完成自动配置

选择器:一般以Selector结尾,完成自动选择

器:一般以Registrar结尾,完成自动

3

()@FeignClient

()FeignClientSpecification类

FeignClientSpecification是一个FeignClient的生成规范。

()BeanDefinition接口

BeanDefinition是一个Bean定义器。

4

()BeanDefinitionRegistry接口

BeanDefinitionRegistry是一个BeanDefinition器。

()FeignContext类

FeignContext是一个为FeignClient创建所准备的上下文对象。

5

其父类中包含两个很重要的集合:

privateMapString,AnnotationConfigApplicationContextcontexts=new

ConcurrentHashMap();

该map的key为FeignClient的名称(其所要调用的微服务名称),value是组装这个

FeignClient所必须的组件所在的Spring子容器

privateMapString,Cconfigurations=newConcurrentHashMap();

这个ma

文档评论(0)

159****9610 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档