feign和ribbon区别

子凡 问答 2019-09-02 09:37:04 阅读(...)

feign和ribbon是Spring Cloud的Netflix中提供的两个实现软负载均衡的组件,Ribbon和Feign都是用于调用其他服务的,方式不同。Feign则是在Ribbon的基础上进行了一次改进,采用接口的方式。

feignribbonSpring CloudNetflix 中提供的两个实现软负载均衡的组件,Ribbon 和 Feign 都是用于调用其他服务的,方式不同。Feign 则是在 Ribbon 的基础上进行了一次改进,采用接口的方式,将需要调用的其他服务的方法定义成抽象方法即可,不需要自己构建 http 请求。不过要注意的是抽象方法的注解、方法签名要和提供服务的方法完全一致。

负载均衡 Load Balancing

1.启动类使用的注解不同,Ribbon 用的是@RibbonClient,Feign 用的是@EnableFeignClients。

2.服务的指定位置不同,Ribbon 是在@RibbonClient 注解上声明,Feign 则是在定义抽象方法的接口中使用@FeignClient 声明。

3.调用方式不同,Ribbon 需要自己构建 http 请求,模拟 http 请求然后使用 RestTemplate 发送给其他服务,步骤相当繁琐。

Feign

Feign 是在 Ribbon 的基础上进行了一次改进,是一个使用起来更加方便的 HTTP 客户端。采用接口的方式, 只需要创建一个接口,然后在上面添加注解即可 ,将需要调用的其他服务的方法定义成抽象方法即可, 不需要自己构建 http 请求。然后就像是调用自身工程的方法调用,而感觉不到是调用远程方法,使得编写 客户端变得非常容易。

Ribbon

Ribbon 是一个基于 HTTP 和 TCP 客户端 的负载均衡的工具。它可以 在客户端 配置 RibbonServerList(服务端列表),使用 HttpClient 或 RestTemplate 模拟 http 请求,步骤相当繁琐。

2个人收藏头像头像 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 云空间 Cloud hosting

    什么是云空间

    云空间也可以叫云服务器或者云主机,是云计算在基础设施应用上的重要组成部分,它由多台服务器提供负载均衡,资源网站实际按需要进行动态分配,云空间还是一个安全存储文件、照片、视频、联系人等重要数据的私人保险箱。
  • 负载平衡 Load Balance

    负载平衡是什么

    负载平衡是在多个服务器之间均匀分散网络流量以避免过度工作的过程。IT 经理和网络管理员等服务器专业人员使用公司服务器之间的负载平衡来确保工作流程顺畅,并密切关注使用哪些服务器以及使用频率。 
  • 可扩展性 Scalability

    什么是可扩展性

    可扩展性是描述组织、流程、系统或软件管理工作量增加的能力的特征。尽管可扩展性通常指的是增加的工作量,但它也可以描述实体管理工作量减少的能力。
  • Caddy

    Caddy是什么

    Caddy 是一个支持 HTTP/2 的跨平台的开源 Web 服务器,使用和配置都非常简单。Caddy 支持 HTTP/2, IPv6, Markdown, WebSockets, FastCGI, 模板等等。
  • 赛可达实验室 SKD Labs

    SKD Labs是什么

    赛可达实验室(SKD Labs)是国际知名第三方网络安全检测服务机构,是中国合格评定国家认可委员会CNAS认可实验室及国际ISO/IEC 17025认证实验室,拥有领先的网络安全能力测试验证平台、全球威胁情报资源和多年丰富的国际测评服务经验。
  • Kitsunebi

    Kitsunebi是什么

    Kitsunebi 是一个全功能的 V2Ray 客户端,支持 SOCKS, Shadowsocks 和 VMess 代理协议,更可选择 TCP/KCP/WebSocket/HTTP(H2)/QUIC 作为代理传输协议。