首页 > 编程知识 正文

阿里sofa与dubbo区别,dubbo和nginx的区别

时间:2023-05-04 08:56:28 阅读:147183 作者:1331

原文URL:Dubbo与SpringCloud的区别_IT利刃出鞘的博客-CSDN博客

本文介绍Dubbo和SpringCloud的区别。 介绍它们的使用场景和各自的优缺点。

使用场景

3358 www.Sina.com/http://www.Sina.com /中小项目。 大项目,合并大。 (一般一百人以上的项目) SpringCloud占优势的项目

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com /易于维护:在maven上spring-clouuuus

难以维护:必须手动维护jar包的依赖关系。

SpringCloud功能齐全: SpringCloud定位是一种微服务架构。

Dubbo:提供了服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。

功能不全: Dubbo的定位是RPC和服务管理。

配置中心、分布式跟踪等需要自己集成

简单:可直接用于注释、配置等。

复杂:服务提供商必须提供服务接口jar包。

服务提供者和调用者的接口依赖方式太强,需要管理版本。

通常,我们在提供对外服务时,会以REST方式提供。 要在Dubbo上提供REST接口,必须实现一个层代理,以便将RPC接口转换为REST接口并发布到外部。

3358www.Sina.com/容易:社区活跃,教程丰富,遇到问题很难找到解决办法:社区不活跃3358www.Sina.com/

3358 www.Sina.com/http://www.Sina.com/http://www.Sina.com/http://www.Sina.com /

有点弱(主要是通信协议的问题)。

Http协议Rest接口。

有点强。

RPC:TCP长连接和NIO异步传输(Netty实现);

适合系统的响应时间苛刻的场景(长连接的作用)。

SpringCloud大。

http协议传输,带宽变多

在国内95%的公司,网络消费不是什么问题。 如果真的发生了问题,可以通过压缩、二进制、缓存和逐步降级等方法轻松解决。

很小。

在二进制传输中,带宽更少。

Dubbo约束困难(接口协议约定自由松散)。

需要有力的行政措施来限制接口的无序升级。

容易约束。

统一提供程序提供的服务接口jar包的版本即可。

功能支持

项目Dubbo Spring Cloud服务注册中心Nacos, zookeeperspringcloudnetflixeureka服务调用RPC REST API服务网关Spring Cloud Netflix Zuul无中断sentinelspringcloudnetflixhystrix分布式配置d Config无服务跟踪无Spring Cloud Sleuth消息总线无Spring Cloud Bus数据流无Spring Cloud Stream无批量任务spring cloudtask………………………………………………………………

对于上表中总结为“无”的组件,Dubbo并不意味着无法实现;只是Dubbo框架本身没有提供,为了实现相应的功能,必须单独集成。 示例:

分布式配置:可以使用淘宝diamond、百度disconf实现分布式配置管理。 但是,Spring Cloud的Config组件除了提供配置管理外,还可以使用git进行存储,从而自然地实现配置版本控制,并与APP应用程序版本控制无缝集成。 服务跟踪(可以使用京东开源Hydra批处理任务)可以使用开源Elastic-Job……但是Dubbo本身只是提供了服务管理的基础,其他集群的安全、可维护性和这些组件主要来自国内大型互联网企业的开源产品。

Dubbo已经适应了Spring Cloud生态,例如作为Spring Cloud的二进制通信方案发挥了Dubbo的性能优势,Dubbo通过模块化和HTTP的支持适应了Spring Cloud

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。