首页 > 其他分享 >Springcloud和dubbo的区别

Springcloud和dubbo的区别

时间:2023-02-01 10:03:26浏览次数:41  
标签:Dubbo 服务 区别 Spring dubbo 文档 Springcloud 架构 Cloud


随着近几年微服务的兴起,最近大家对springcloud和dubbo的讨论越来越多,那么下面我们简单来看看这两者使用中的不同有哪些,以下观点仅供参考。

Springcloud和dubbo的区别_spring

1、 架构完整度(见上图)
或许很多人会说Spring Cloud和Dubbo的对比有点不公平,Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。但是在选择框架上,方案完整度恰恰是一个需要重点关注的内容。

根据Martin Fowler对微服务架构的描述中,虽然该架构相较于单体架构有模块化解耦、可独立部署、技术多样性等诸多优点,但是由于分布式环境下解耦,也带出了不少测试与运维复杂度。

2、协议不同
Dubbo底层是使用Netty这样的NIO框架,是基于TCP协议传输的,配合以Hession序列化完成RPC通信。而SpringCloud是基于Http协议+rest接口调用远程过程的通信,相对来说,Http请求会有更大的报文,占的带宽也会更多。但是REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更为合适,至于注重通信速度还是方便灵活性,具体情况具体考虑。

3、 社区活跃度
Dubbo是来源于阿里团队,SpringCloud是来源于Spring团队,Spring广泛遍布全球各种企业开发中,可以确保SpringCloud的后续更新维护,Dubbo虽然来自国内顶尖的阿里团队,但是曾经被阿里弃用停更,但是后来阿里又低调重启维护。

4、 定位区别
Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而 Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了 Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。因此可以大胆地判断,Dubbo 未来会在服务治理方面更为出色,而 Spring Cloud 在微服务治理上面无人能敌。

5、 文档质量
Dubbo的 文档 可以说在国内开源框架中算是一流的,非常全,并且讲解的也非常深入,由于版本已经稳定不再更新,所以也不太会出现不一致的情况,另外提供了中文与英文两种版本,对于国内开发者来说,阅读起来更加容易上手,这也是dubbo在国内更火一些的原因吧。
Spring Cloud由于整合了大量组件,文档在体量上自然要比dubbo多很多,文档内容上还算简洁清楚,但是更多的是偏向整合,更深入的使用方法还是需要查看其整合组件的详细文档。另外由于Spring Cloud基于Spring Boot,很多例子相较于传统Spring应用要简单很多(因为自动化配置,很多内容都成了约定的默认配置),这对于刚接触的开发者可能会有些不适应,比较建议了解和学习Spring Boot之后再使用Spring Cloud,不然可能会出现很多一知半解的情况。


标签:Dubbo,服务,区别,Spring,dubbo,文档,Springcloud,架构,Cloud
From: https://blog.51cto.com/u_14389461/6030678

相关文章

  • 说一下created和mounted区别
    created:Vue实例vm能够访问data里的数据,和methods里的方法,即在模板渲染成html页面之前,可以通过ajax获取页面所需要的初始化数据,可以在这个生命周期函数操作。mounted:经......
  • less与sass的区别
    1.关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$2.处理机制不同,less是在客户端处理,sass是在服务端处理,相比较之下前者解析会比后者慢一点3.运行环境不同,sass是要......
  • @Autowired和@Resource的区别
    @Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。@Resource注解和@Autowired一样,也可以标注在字段或......
  • 网络资源路径的双斜杠//和双反斜杠\的区别
    1斜杠“/”是URL地址中用到的分隔符;对应地,双斜杠用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式,URL格式:协议://域......
  • JDK,JRE和JVM之间的区别
    好多开发者学习Java编程有若干个年头了,但真正了解JDK,JRE和JVM之间的区别应该不多,别不服,大概是因为平时都是在Coding<=>Bug,没有时间去阅读相关资料吧。了解JDK,JRE和JVM......
  • 并发、并行、串行的区别
    并发:多个任务会相互干扰,同一时间点只有一个任务运行,交替执行。并行:多个任务互不干扰,在同一时间点共同执行,在时间上是重叠的。串行:在同一时间点只有一个任务运行,在时间上......
  • Dubbo 中 Zookeeper 注册中心原理分析
    Dubbo中Zookeeper注册中心原理分析https://mp.weixin.qq.com/s/XbLxxmqoxVkYS_eDM4cauA本文通过分析Dubbo中ZooKeeper注册中心的实现ZooKeeperResitry的继承体系结构,......
  • 空气开关A型、B型、C型、D型的区别
    空气开关分为A型、B型、C型和D型,A型和B型使用的比较少,最常用的就是C型和D型了,C型应用于家庭电路用电,D型应用于动力用电空气开关A型、B型、C型、D型的区别对于这4种型号,它......
  • 字节和字符的区别
    字节(Byte)是存储单位,一个字节(Byte)=8个位(bit),一个位有0/1两种状态,1KB=1024Byte字符(char)是一种数据类型,占用一个字节,如A、B注意:一个汉字也是一个字符,但是一个汉字占用两......
  • 形参和实参的区别
    https://zhidao.baidu.com/question/527678293760539325.html函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义......