新⼀代负载均衡组件Open-Feign

  • Ribbon存在的问题
  • Feign介绍
  • 微服务集成实现远程调用

Ribbon存在的问题

feign 和 ribbon 是 Spring Cloud 的 Netflix 中提供的两个实现软负载均衡的组件,Ribbon 和 Feign 都是用于调用其他服务的,方式不同。Feign 则是在 Ribbon 的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己构建 http 请求。我们先来看一下ribbon方式的写法:

问题:不规范,⻛格不统⼀,维护性⽐较差

Feign介绍

SpringCloud提供的伪http客户端(本质还是⽤http),封装了Http调⽤流程,更适合⾯向接⼝化
让⽤Java接⼝注解的⽅式调⽤Http请求.不⽤像Ribbon中通过封装HTTP请求报⽂的⽅式调⽤ Feign
默认集成了Ribbon。

微服务集成实现远程调用

第一步:引入依赖

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

第二步:配置注解
启动类增加@EnableFeignClients
第三步:订单服务增加接口,服务名称记得和nacos保持一致

SpringCloud实战(三)集成Open-Feign实现远程⽅法调⽤相关推荐

  1. SpringCloud(三)之Feign实现负载均衡的使用

    一 点睛 Feign是Netflix开发的声明式.模板化的HTTP客户端, Feign可以帮助我们更快捷.优雅地调用HTTP API. 在Spring Cloud中,使用Feign非常简单--创建一个 ...

  2. [菜鸟SpringCloud实战入门]第七章:配置中心客户端主动刷新机制 + 配置中心服务化和高可用改造...

    前言 欢迎来到菜鸟SpringCloud实战入门系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud. 本系列适合有一定Java以及Sp ...

  3. [菜鸟SpringCloud实战入门]第九章:服务网关Zuul体验

    前言 欢迎来到菜鸟SpringCloud实战入门系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud. 本系列适合有一定Java以及Sp ...

  4. springcloud 实战 feign使用中遇到的相关问题

    springcloud 实战 feign使用中遇到的相关问题 1.使用feign客户端调用其他微服务时,session没有传递成功,sessionId不一样. /*** @author xbchenf ...

  5. [菜鸟SpringCloud实战入门]第五章:熔断器Hystrix的使用 + 可视化监控Hystrix Dashboard和Turbine

    前言 欢迎来到菜鸟SpringCloud实战入门系列(SpringCloudForNoob),该系列通过层层递进的实战视角,来一步步学习和理解SpringCloud. 本系列适合有一定Java以及Sp ...

  6. SpringCloud教程- 服务消费者(Feign)(SpringCloud版本Finchley)

    文章目录 一.Feign简介 二. 环境准备 三.创建基于Feign服务 定义启动类 pom文件配置 配置文件application.yml 定义一个feign接口 定义一个controller 前言 ...

  7. SpringCloud实战小贴士:版本依赖关系

    2019独角兽企业重金招聘Python工程师标准>>> 去年在博客上连载了<Spring Cloud构建微服务架构>的系列博文,虽然这部分内容得到了不少关注者们的支持,但 ...

  8. 【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign

    SpringCloud 分布式.微服务相关概念 微服务框架构选型 SpringCloud 概述 服务注册与发现 - Eureka 案例项目 Eureka 自我保护机制 微服务调用方式 - Ribbon ...

  9. SpringCloud实战五:统一配置中心

    Hello大家好,我是初晨,本章我们学习SpringCloud 的统一配置中心的使用.大家有问题和意见可以发邮箱mr_beany@163.com 一:为什么需要统一配置中心 简单来说就是将项目中的配置 ...

  10. 【SpringCloud深入浅出系列】SpringCloud组件之集成Zuul实现过滤器

    目录 一.Zuul 路由和过滤 二.Zuul 过滤器类型 (一)标准过滤器 1.pre 2.routing 3.post 4.error (二)特殊过滤器 1.StaticResponseFilter ...

最新文章

  1. html页面在微信分享php,详解html静态页面实现微信分享思路的示例代码分析
  2. python爬虫案例-Python爬取租房数据实例,据说可以入门爬虫的小案例!
  3. react父子组件通信案例
  4. 如何让char不要忽略开头的空格_如何使用C语言实现JSON解析库(二)
  5. Linux桌面虚拟化技术KVM
  6. 云服务器真假辨别奥秘
  7. 如何获取kindle资源
  8. Android PdfViewer预览pdf滚动或放大缩小时模糊然后正常的问题
  9. python解数独--世界最难数独2.3秒完成
  10. SmtpJS 几行代码实现javascript发送邮件(记录)
  11. 机甲大师s1 python编程_机甲大师RoboMaster S1教育机器人- DJI 大疆创新
  12. Gom引擎如何进行“称号系统”的设置详细介绍
  13. 闲谈绩效考核——来自项目管理群的讨论[转]
  14. HTML 代码混淆与压缩
  15. 有些计算机病毒没有传染性,电脑病毒有没传染性介绍
  16. 微信属于计算机操作系统吗,一款国产操作系统的微信电脑版使用体验
  17. python将图片转换成二进制文本_python将图片文件转换成base64编码的方法
  18. 在oracle中imp是什么意思,Oracle中的Imp和Expt用法
  19. c++镇国之争游戏(带存档,无bug)
  20. 使用FTP删不掉文件的解决方法

热门文章

  1. 票房连创新高 数据安全不能成为《熊出没》“拖油瓶”
  2. 解决Mac下Parallels Desktop的Host-only网络问题
  3. Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用 一
  4. 25.Linux/Unix 系统编程手册(上) -- 进程的终止
  5. 78. Cookie
  6. 10. Browser 对象 - Location 对象(2)
  7. 4. Browser 对象 - Navigator 对象(2)
  8. 28. git 常用命令
  9. java如果目录不存在则创建目录_java – 创建一个目录,如果它不存在,然后再创建该目录中的文件...
  10. Java 8并发工具包简介