dubbo和spring cloud 比对

dubbo和cloud的区别:duobbo是rpc通信方式,轻量级的通信机制spring cloud是restful http 通信。

           微服务的优缺点:

           优点,1)每个服务足够内聚,足够小。代码容易理解,业务容易修改。2)开发简单,效率高,团队小化。4)服务是松耦合的,开发和部署独立。不同语言开发。5)开发中,前后端分离,只关心后段服务,按照rest和格式提供服务。

           缺点:1)服务通信成本上升 2)难以运维部署监控 3)分布式事务和数据一致性 4)系统集成测试复杂

 技术栈支持情况,以及微服务技术栈:

 

 

服务注册中心Zookeeper,Eureka,Consul ...
服务调用方式RPC,REST,gRPC
服务网关Zuul
断路器Hystrix,Envoy...
负载均衡Nginx,Ribbon...
服务调用Feign
分布式配置Config,Chef...
服务监控Zabbix,Nagios,Metrics,Spectator...
服务跟踪Sleuth
消息总线Bus
数据流Stream
批量任务Task


dubbo和cloud:

 

Dubbo

Spring Cloud

 

Dubbo

Spring Cloud

服务注册中心ZookeeperSpring Cloud Netflix Eureka
服务调用方式RPCREST API
服务网关Spring Cloud Netflix Zuul
断路器不完善Spring Cloud Netflix Hystrix
分布式配置Spring Cloud Config
服务跟踪Spring Cloud Sleuth
消息总线Spring Cloud Bus
数据流Spring Cloud Stream
批量任务Spring Cloud Task

Dubbo架构师刘军给的区别:http://www.sohu.com/a/215931152_827544

关于 Dubbo 和 Spring Cloud 间的关系,我们在开源中国年终盛典的 Dubbo 分享中也作了简单阐述。

首先要明确的一点是 Dubbo 和 Spring Cloud 并不是完全的竞争关系,两者所解决的问题域并不一样:Dubbo 的定位始终是一款 RPC 框架,而 Spring Cloud 的目标是微服务架构下的一站式解决方案

如果非要比较的话,我觉得 Dubbo 可以类比到 Netflix OSS 技术栈,而 Spring Cloud 集成了 Netflix OSS 作为分布式服务治理解决方案,但除此之外 Spring Cloud 还提供了包括 config、stream、security、sleuth 等等分布式问题解决方案。

当前由于 RPC 协议、注册中心元数据不匹配等问题,在面临微服务基础框架选型时 Dubbo 与 Spring Cloud 是只能二选一,这也是为什么大家总是拿 Dubbo 和 Spring Cloud 做对比的原因之一。

Dubbo 之后会积极寻求适配到 Spring Cloud 生态,比如作为 Spring Cloud 的二进制通信方案来发挥 Dubbo 的性能优势,或者 Dubbo 通过模块化以及对 http 的支持适配到 Spring Cloud。

### Dubbo Spring Cloud 微服务框架特性对比 #### 特性概述 Dubbo 是由阿里巴巴开源的一款高性能 Java RPC 框架,主要用于构建分布式服务架构[^1]。而 Spring Cloud 则是一套基于 Spring Boot 实现的云应用开发工具集,它提供了多个模块来支持微服务架构的不同方面。 #### 服务发现机制 在服务注册与发现方面,Dubbo 默认采用 ZooKeeper 来管理服务实例的信息;相比之下,Spring Cloud 支持多种服务注册中心选项,如 Eureka、Consul 或者 Netflix 的 Zuul 网关等。 #### 配置管理方式 对于配置文件管理动态刷新功能,两者都具备良好的解决方案。Dubbo 可通过 Nacos 进行动态配置推送支持多环境部署;而在 Spring Cloud 中,则有 Config Server 提供集中式的外部化配置,并能实现热加载更新配置项的能力。 #### 安全性监控能力 安全性上,两个平台都可以集成 OAuth2 认证授权服务器以及 JWT Token 方式保护 RESTful API 接口调用安全。至于链路追踪性能分析工具的选择上,SkyWalking 对于 Dubbo 应用有着较好的兼容度,而对于 Spring Cloud 用户来说,除了 SkyWalking 外还可以考虑 Zipkin 或者 Pinpoint 等其他优秀项目。 #### 使用场景推荐 当业务逻辑较为复杂且对通信效率有一定要求时,可以优先选用 Dubbo 构建内部系统间的服务交互接口。如果希望快速搭建一套完整的互联网级 SaaS 平台并享受社区活跃带来的便利条件技术文档资源的话,那么 Spring Cloud 将会是一个不错的选择。 ```java // 示例:使用 Dubbo 创建消费者端远程调用提供者的简单例子 import org.apache.dubbo.config.annotation.DubboReference; import com.example.service.HelloService; public class Consumer { @DubboReference(version = "1.0.0") private HelloService helloService; public void sayHello() { System.out.println(helloService.sayHello("world")); } } ``` ```yaml # 示例:Spring Cloud Gateway 配置路由转发规则片段 spring: cloud: gateway: routes: - id: example_route uri: lb://example-service predicates: - Path=/api/** ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值