FeignClient与RestTemplate的区别
JAVA 项目中接口调用怎么做 ?
- Httpclient
- Okhttp
- Httpurlconnection
- RestTemplate
上面是最常见的几种用法,我们今天要介绍的用法比上面的更简单,方便,它就是Feign
Feign是一个声明式的REST客户端,它的目的就是让REST调用更加简单。
Feign提供了HTTP请求的模板,通过编写简单的接口和插入注解,就可以定义好HTTP请求的参数、格式、地址等信息。
而Feign则会完全代理HTTP请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。
SpringCloud对Feign进行了封装,使其支持SpringMVC标准注解和HttpMessageConverters。
Feign可以与Eureka和Ribbon组合使用以支持负载均衡。
区别:
在预订微服务中,有一个同步呼叫票价(Fare)。RestTemplate
是用来制作的同步呼叫。使用RestTemplate时
,URL参数是以编程方式构造的,数据被发送到其他服务。在更复杂的情况下,我们将不得不RestTemplate
深入到更低级别的API提供的甚至是API 的细节。
Feign是Spring Cloud Netflix库,用于在基于REST的服务调用上提供更高级别的抽象。Spring Cloud Feign在声明性原则上工作。使用Feign时,我们在客户端编写声明式REST服务接口,并使用这些接口来编写客户端程序。开发人员不用担心这个接口的实现。这将在运行时由Spring动态配置。通过这种声明性的方法,开发人员不需要深入了解由HTTP提供的HTTP级别API的细节的RestTemplate
。
总结:
也就是说FeignClient简化了请求的编写,且通过动态负载进行选择要使用哪个服务进行消费,而这一切都由Spring动态配置实现,我们不用关心这些,只管使用方法即可。再说,就是简化了编写,RestTemplate还需要写上服务器IP这些信息等等,而FeignClient则不用。
FeignClient与RestTemplate的区别相关推荐
- SpringCloud接入EDAS——服务发现篇
旁白 很久没有写技术文章了,最近不是写水文就是写小说.说到底,还是最近很少研究技术的缘故,已经到了江郎才尽的地步了. 不过,LZ无意间看到自己团队的小伙伴写的一些文章,觉得还是不错的,于是便动了心思, ...
- 117道Java面试题及答案(大多都是项目里面所用到的技术点)
1 SpringBoot整合SpringMVC的jar包的名字: spring-boot-starter-web 2 SpringBoot整合Durid连接池的jar包的名字: Durid-sprin ...
- Java学习之路(基础到高级200讲)
(由于合同未续,视频课程已被下线,可到另一个平台观看对应的视频教程) https://www.yingyinyi.com/site/view/57171.html 对应博客有300余篇基础到高级的文章 ...
- 微服务之间的调用方式RestTemplate和FeignClient
SpringCloud服务间的调用有两种方式:RestTemplate和FeignClient.不管是什么方式,他都是通过REST接口调用服务的http接口,参数和结果默认都是通过jackson序列化 ...
- 使用RestTemplate进行feignclient调用(附源码)
使用RestTemplate进行feignclient调用(附源码) 问题背景 项目搭建 项目测试 心得 Lyric: 有一条热昏头的响尾蛇 问题背景 feignclient的本质其实也是http调用 ...
- Ribbon、Feign、OpenFeign、spring-cloud-openfeign的区别
一. Ribbon 随着服务注册中心的安装完成后,客户端的负载均衡和服务的调用又是我们关注的话题.Ribbon可以实现客户端的负载均衡, 负载均衡LB LoadBalance(负载均衡):简单的说就是 ...
- springCloud负载均衡Ribbon和Feign的区别
1.什么是负载均衡: 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据[均匀]分摊到多个操作单元上执行,负载均衡的关键在于[均匀]. 2.常见的负 ...
- SpringCloud微服务架构,Spring Cloud 服务治理(Eureka,Consul,Nacos),Ribbon 客户端负载均衡,RestTemplate与OpenFeign实现远程调用
什么是SpringCloud 微服务架构 • "微服务"一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://mar ...
- Dubboamp;hsfamp;Spring-cloud的区别
Dubbo: 简介:Dubbo是一个分布式服务框架,以及SOA治理方案.其功能主要包括:高性能NIO通讯及多协议集成,服务动态寻址与路由,软负载均衡与容错,依赖分析与降级等. 底部NIO基于netty ...
最新文章
- boost::hana::members用法的测试程序
- clamav程序的研究总结
- ArcMap 导入 wrl_flmic拍摄的素材如何无损导入电脑
- lightoj 1044 - Palindrome Partitioning(需要优化的区间dp)
- SecureCRT连接linux时主机名,secureCRT连接linux方法
- 一步步编写操作系统 51 加载内核4
- java语言设计论文_(C)论文(JAVA语言考试系统的设计与实现)
- Mac上使用中文Beamer添加各种格式的图片
- 苹果输了,赔了高通 2 个亿
- gitlab权限分配
- vscode远端编程 终极方案
- android app 缓存目录在哪里找,Android App的文件缓存目录
- Android 打电话实现两种方法
- hypermesh分析流程
- 计算机管理关机在哪,电脑定时开关机在哪里设置
- 计算机专业性价比高的学校 考研,计算机专业考研,该怎样选择院校?这五所大学性价比很高...
- 聚乳酸改性乳清白蛋白/肌白蛋白/豆清白蛋白/蓖麻蛋白/豌豆白蛋白1b ( PA1b)|蛋白偶联修饰
- R假设检验之Bartlett球形检验(Bartlett’s Test of Sphericity)
- Exchange 2010 (五) 批量新增邮箱
- Kaiming He 何恺明					 http://kaiminghe.com/
热门文章
- Tiktok培训可以去学习吗?
- c++list遍历_小白学PyTorch | 6 模型的构建访问遍历存储(附代码)
- javascript基础-ajax
- IDEA搭建Maven Web(SSM)项目(二)——jar包引入、jetty服务器配置和ssm配置
- java poi读取word中附件_java用poi实现对word读取和修改操作
- java对字符串快查找_字符串快速查找 - Trie算法
- MySQL单表删除重复列SQL语句
- [Ext JS] 组件浮动一篇通(floating、alignTo)
- [dhtmlx]group task 失效问题解决
- php 获得焦点,jquery中blur()失去焦点与focus() 获取焦点事件