掌握微服务:Spring Cloud 对比 Dubbo

简介: Spring Cloud 框架为开发人员提供了快速构建健壮云应用程序的工具。我们还可以构建基于微服务的应用程序,例如配置管理、服务发现、断路器、智能路由、集群状态、微代理、控制总线、一次性令牌等。

什么是 SpringCloud

Spring Cloud  框架为开发人员提供了快速构建健壮云应用程序的工具。我们还可以构建基于微服务的应用程序,例如配置管理、服务发现、断路器、智能路由、集群状态、微代理、控制总线、一次性令牌等。使用  Spring  Cloud,开发人员可以快速开发实现设计模式的服务和应用程序。这些模式在任何分布式环境中都能很好地工作,包括熊金属数据中心、开发人员的笔记本电脑和云铸造等托管平台。

什么是 Dubbo

Apache Dubbo 是一个易于使用、高性能的 WEB 和 RPC 框架,具有内置的服务发现、流量管理、可观察性、安全功能、工具和构建企业级微服务的最佳实践。

Dubbo 是阿里巴巴推出的,多年来一直在成功支持数十亿的服务。

SpringCloud、Dubbo 各自的组织架构

SpringCloud 的组织架构

  • Spring Cloud Config:配置管理开发工具包
  • Spring Cloud Bus:事件、消息总线
  • Spring Cloud Netflix:针对多种 Netflix 组件提供的开发工具包
  • Netflix Eureka:云端负载均衡
  • Netflix Hystrix:容错管理工具
  • Netflix Zuul:边缘服务工具
  • Netflix Archaius:配置管理 API
  • Spring Cloud for Cloud Foundry:通过 Oauth2 协议绑定服务到 CloudFoundry
  • Spring Cloud Sleuth:日志收集工具包
  • Spring Cloud Data Flow:大数据操作工具
  • Spring Cloud Security:安全工具包
  • Spring Cloud Consul:封装了Consul操作
  • Spring Cloud Zookeeper:操作Zookeeper的工具包
  • Spring Cloud Stream:数据流操作开发包
  • Spring Cloud CLI:基于 Spring Boot CLI

Dubbo 的组织架构

  • Provider:生产者
  • Consumer:消费者
  • Registry:注册中心
  • Monitor:监控
  • Container:容器

SpringCloud、Dubbo 各自的优势

SpringCloud 的优势

  • 减少配置比重,更多的是约定,比较灵活
  • 启动速度快,门槛低
  • 兼容多种环境
  • 整体很轻量级
  • 组件种类非常多

Dubbo 的优势

  • 单一应用框架:适用于流量较小的时候
  • 垂直应用框架:适用与流量较大的时候
  • 分布式服务架构:适用于垂直应用架构较多的时候
  • 流动计算架构:当流量超级大的时候,需要一个调度中心

调试 SpringCloud、Dubbo 接口

SpringCloud 代表的是 REST,Dubbo 代表的是 RPC,这是两种接口风格。

想要调试这两种接口,可以使用接口工具 Apifox 进行调试。

如何调试 SpringCloud

使用 Apifox 调试起 REST 接口,非常方便,只需要分几步:

  • 创建 REST 请求
  • 发送 REST 请求

调试 Dubbo 接口

新建 Dubbo 项目

打开 Apifox,在团队中点击右侧的「新建项目」按钮,然后选择 Dubbo 项目。

新建 Dubbo 接口

在 Apifox 新建 Dubbo 接口时需要逐个创建 Package、服务和方法。以 demo/com.dubbo.example.DemoService:1.0.1 接口为例,新建接口时的对照图如下:

调试 Dubbo 接口

我已经 Apifox 中新建了一个 Dubbo 项目并编写了一个接口。开始调试前需要指定接口路径,请求参数。

发送一个 Dubbo 请求

接着我们到达运行页面,填入请求 body 的参数,例如:

并且点击发送运行,得到 Dubbo 服务返回的数据。

知识扩展:

相关文章
|
6天前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
2天前
|
Java Docker 微服务
|
3天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
14 1
|
3天前
|
Dubbo Java 应用服务中间件
Spring Cloud Dubbo: 微服务通信的高效解决方案
【4月更文挑战第28天】在微服务架构的发展中,服务间的高效通信至关重要。Spring Cloud Dubbo 提供了一种基于 RPC 的通信方式,使得服务间的调用就像本地方法调用一样简单。本篇博客将探讨 Spring Cloud Dubbo 的核心概念,并通过具体实例展示其在项目中的实战应用。
13 2
|
3天前
|
监控 Java Sentinel
Spring Cloud Sentinel:概念与实战应用
【4月更文挑战第28天】在分布式微服务架构中,确保系统的稳定性和可靠性至关重要。Spring Cloud Sentinel 为微服务提供流量控制、熔断降级和系统负载保护,有效预防服务雪崩。本篇博客深入探讨 Spring Cloud Sentinel 的核心概念,并通过实际案例展示其在项目中的应用。
11 0
|
4天前
|
负载均衡 Dubbo Java
SpringCloud和Dubbo有哪些区别
SpringCloud和Dubbo有哪些区别
|
6天前
|
Java 数据安全/隐私保护 Sentinel
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
微服务学习 | Spring Cloud 中使用 Sentinel 实现服务限流
|
6天前
|
运维 监控 Java
SpringCloud&认识微服务
SpringCloud&认识微服务
10 0
|
7天前
|
Java API Nacos
第十二章 Spring Cloud Alibaba Sentinel
第十二章 Spring Cloud Alibaba Sentinel
17 0
|
7天前
|
监控 Java 微服务
第八章 Spring Cloud 之 Hystrix
第八章 Spring Cloud 之 Hystrix