SpringCloud 服务调用 Dubbo 与 Feign 对比

本贴最后更新于 334 天前,其中的信息可能已经斗转星移

概述

在 Spring Cloud 构建的微服务系统中,大多数的开发者使用都是官方提供的 Feign 组件来进行内部服务通信,这种声明式的 HTTP 客户端使用起来非常的简洁、方便、优雅,但是有一点,在使用 Feign 消费服务的时候,相比较 Dubbo 这种 RPC 框架而言,性能较差。

Dubbo 与 Feign 的区别

  1. 协议

Dubbo:支持多种传输协议(Dubbo、Rmi、Http、Redis),默认使用 Dubbo 协议;基于 Netty,TCP 传输,单一、异步、长连接,适合数据量小、高并发和服务提供者远远少于消费者的场景。

Feign:基于 Http 协议,短连接,不适合高并发访问。

  1. 负载均衡

Dubbo:

Feign:

  1. 容错策略

Dubbo:支持多种容错策略:failover、failfast、brodecast、forking 等,也引入了 retry 次数、timeout 等配置参数。

Feign:利用熔断机制来实现容错的,处理的方式不一样。

  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    895 引用 • 1443 回帖 • 559 关注
  • JMeter
    16 引用 • 20 回帖
1 操作
Tooi6 在 2020-12-28 09:39:19 更新了该帖

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • jianzh5

    抄我的好玩吗?

    1 回复
  • 其他回帖
  • Gakkiyomi2019
    订阅者

    哥哥要不要再试试 grpc?

  • null1
    支持者 订阅者

    虽然我知道 feign 在性能上和 dubbo 对比很吃亏,但是你这压测方式 我只能说很粗糙好吧。。

  • Tooi6
    作者

    实在不好意思,已经删除。