什么是 SpringCloud

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

alt

什么是 Dubbo

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

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

alt

SpringCloud、Dubbo 各自的组织架构

SpringCloud 的组织架构

alt

  • 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 的组织架构

alt

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

SpringCloud、Dubbo 各自的优势

SpringCloud 的优势

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

Dubbo 的优势

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

调试 SpringCloud、Dubbo 接口

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

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

如何调试 SpringCloud

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

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

alt

调试 Dubbo 接口

新建 Dubbo 项目

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

alt

新建 Dubbo 接口

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

alt

调试 Dubbo 接口

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

alt

发送一个 Dubbo 请求

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

{
    "name": "user-name",
    "age": 29
}

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

alt

知识扩展: