教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

Spring Cloud 和dubbo相比哪个更好用?

更新时间:2022年10月19日12时02分 来源:传智教育 浏览次数:

SpringCloud的优势

Spring 团队将来自 Pivotal、 Netflix、HashiCorp等公司的大量久经考验的开源项目整合到一个名为 Spring Cloud 的 Spring 项目中。Spring Cloud 提供了一些库和工具来快速构建分布式系统的一些常见设计模式,包括:

服务发现

JVM 和非 JVM 服务可以将自己注册到服务注册表中,并轻松发现生态系统中可用的其他服务。Spring Cloud Netflix Eureka 或 Consul 可用于此目的。

分布式配置

由 git 存储库支持的集中式外部配置管理。配置资源直接映射到 Spring 环境,但如果需要,可以由非 Spring 应用程序使用。

客户端负载均衡

负载平衡改善了跨多个服务的工作负载分布。Spring Cloud 提供 Ribbon - 一个客户端负载均衡器,它与 Service Registry 对话并使负载均衡变得容易。

熔断器

当对服务的方法调用失败时,断路器允许功能正常降级。使用断路器模式可以允许微服务在相关服务发生故障时继续运行,防止故障级联并给故障服务时间恢复。Spring Cloud 提供了 Hystrix,它是断路器模式的实现。

网关

Spring Cloud Gateway 是一款基于 Project Reactor 的智能可编程网关。

链路追踪

Spring Cloud 提供了 Zepkin 和 Sleuth,可用于 Log Correlation 和 Tracing。这对于在实际生产环境中进行深度故障排除非常有帮助。

安全验证

Spring Cloud 通过使用少量注解来提供对 OAuth2 服务器和资源服务的支持。使用这些库可以轻松实现授权和身份验证。

spring cloud

Dubbo只是实现了服务治理,而SpringCloud子项目覆盖了微服务架构下的众多部分,而服务治理只是其中的一个方面。Dubbo提供了一个Filter,用于扩展缺失的一些功能,例如:

分布式配置管理:可以使用淘宝的diamond、百度的disconf实现分布式配置管理

服务链路追踪:可以使用京东开源的Hydra、扩展Filter用Zipkin做服务追踪

批量任务处理:可以使用当当网开源的Elastic-Job、TBSchedule

综合以上简单地对比SpringCloud和Dubbo的优势,我们不难发现SpringCloud在核心要素上比Dubbo更胜一筹,在开发过程中只要整合SpringCloud就可以顺利完成微服务组件的融合,而Dubbo要通过定制扩展各种Filter来实现组件整合,开发难度稍大。

但是近几年,我们也发现一个现象(或者说是趋势):SpringCloud和Dubbo两个生态逐步逐步融合在一起。随着SpringCloud Alibaba的出现,Dubbo已经可以很好地整合SpringCloud体系进行开发了。Dubbo的用户可以轻松地接入SpringCloud体系的注册中心、配置中心、链路追踪等产品,而无需去自行扩展Filter了。而SpringCloud的用户,也可以在需要高效的远程调用场景中,轻松引入Dubbo,享受Dubbo的RPC带来的性能优势。

所以说,虽然SpringCloud更有优势,但SpringCloud和Dubbo逐渐走上融合,两个生态应该会长期共存,都不会被淘汰。

0 分享到:
和我们在线交谈!