一线大厂面试真题——Dubbo和Spring Cloud的优缺点对比

本文对比了Dubbo和SpringCloud在整体架构、核心要素、通信协议、服务依赖和组件运行流程等方面的异同,指出SpringCloud在开发便利性和生态系统上更具优势,但Dubbo在某些场景下通信效率更高。
摘要由CSDN通过智能技术生成

目录

概述

两者对比

1、从整体架构上来看

2、从核心要素来看

3、从协议上看

4、从服务依赖方式看

5、从组件运行流程看


概述

其实人不太愿意,拿DubboSpring Cloud进行对比,因为它俩最初出现并不是为了解决同一类问题。但是国内技术是在太卷,加上微服务的盛行,很多互联网大厂也经常会问到这个问题。那么今天,还是给大家来详细聊一聊。

两者对比

关于DubboSpring Cloud的优缺点,以奈菲(Netflix)版本为例,从以下5个方面来分析:

1、从整体架构上来看

DubboSpring Cloud的模式都比较接近,都需要服务提供方,注册中心,服务消费方。差异并不大。

Dubbo的架构图

Spring Cloud的架构图

2、从核心要素来看

Spring Cloud胜一筹,在开发过程中只要整合Spring Cloud的子项目就可以顺利的完成各种组件的融,而Dubbo需要通过实现各种Filter来做定制,开发成本以及技术难度略高。

3、从协议上

Dubbo默认采用的是单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者数远大于服务提供者机器数的情况。Dubbo还支持其他各种通信协议,而Spring Cloud使用HTTP协议的RESTAPI。因此,在通信速度上Dubbo略胜。

4、从服务依赖方式看

Dubbo服务依比较重,需要有完善的版本管理机制,但是程序入侵少。而Spring Cloud是自有生态,略了版本管理的问题,它使用JSON进行交互,为跨平台调用奠定了基础。

5、从组件运行流程看

Dubbo的每个组都是需要部署在单独的服务器上,用来接收前端请求、聚合服务,并批量调用后台原服务。每个Service层和单独的DB交互。

Spring Cloud所有请求都统一通过API网关(Zuul)来访问内部服务。网关接收到请求后,从注册中(Eureka)获取可用服务。由Ribbon进行均衡负载后,分发到后端的具体实例。微服务之间通过Feign行通信处理业务。

但是,者的业务部署方式相同,都需要前置一个网关来隔绝外部直接调用原子服务的风险。Dubbo需要自己开发一套API网关,而Spring Cloud则可以通过Zuul配置就可以完成网关定制。所以,从使式上Spring Cloud更加方便

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值