深入研究 Spring Cloud 和 Dubbo

news2024/11/27 1:24:08

什么是 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 服务返回的数据。

知识扩展:

  • Dubbo 和 gRPC:国内哪个更流行?
  • 分布式 RPC 框架比较:dubbo、dubbox、motan、thrift、grpc 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/979864.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

F5负载均衡融入新理念,全栈分布式云可持续发展

伴随企业上云速度加快,市场对云计算不断提出更高要求,中国分布式云计算发展进入实践落地阶段。作为一个因负载均衡而闻名的公司,F5紧密关注“加快建设数字中国”“加快发展方式绿色转型”等重大战略,积极探索分布式云计算的发展的…

使用Python实现二维应力云图

要画应力分布云图,可以使用Python中的科学计算和可视化库来实现 import numpy as np import matplotlib.pyplot as plt# 生成示例数据 x np.linspace(0, 10, 100) # X轴数据范围 y np.linspace(0, 5, 50) # Y轴数据范围 X, Y np.meshgrid(x, y) # 生成网…

2001-2022年上市公司供应链研究数据大全

2001-2022年上市公司供应链研究数据大全 1、时间:2001-2022年 2、指标: 供应链集中度指标、第一大客户销售额、前五大客户销售额、第一大供应商采购额、前五大供应商采购额、营业总收入、第一大客户销售额占总销售额比率、第一大供应商采购额 占总采购…

axmol引擎支持构建WASM了,非常简单

自axmol-2.0.0-rc6起,axmol引擎带了了实验性的wasm构建支持,提供简单易用的命令即可构建wasm应用在浏览器上跑,具体步骤: 下载最新引擎仓库,git clone https://github.com/axmolengine/axmol 并进入引擎根目录Windows…

git修改默认分支

git checkout 分支 切换到当前分支 git branch --set-upstream-toorigin/complete(远程分支名) 设置当前分支的上游分支为远程分支complete git branch --unset-upstream master 取消master上游分支的身份 现在,使用git commit,git push 命令可以直接…

【数学建模竞赛】评价类赛题常用算法解析

解析常见的评价类算法 常见的评价类算法 层次分析法 层次分析法(Analytic Hierarchy Process,简称AHP)是一种主观赋值评价方法,由美国运筹学家Saaty于20世纪70年代初期提出。该方法将与决策有关的元素分解成目标、准则、方案等多…

C++的向上转型

在 C/C++ 中经常会发生数据类型的转换,例如将 int 类型的数据赋值给 float 类型的变量时,编译器会先把 int 类型的数据转换为 float 类型再赋值;反过来,float 类型的数据在经过类型转换后也可以赋值给 int 类型的变量。 数据类型转换的前提是,编译器知道如何对数据进行取舍…

TreeList 的 增加、删除节点-----DevExpress

private void FrmDictionaryManaged_Load(object sender, EventArgs e){// treeList1.DataSource CreateDataTable();treeList2.DataSource CreateTreeList();// 绑定TreeList控件到数据源treeList1.DataSource GetData();treeList1.KeyFieldName "ID";treeList1.…

【Python小项目之Tkinter应用】Python的GUI库Tkinter实现随机点名工具或抽奖工具并封装成.exe可执行文件

文章目录 一、项目背景二、需求分析UI界面设计如下:具体需求如下: 二、实现思路三、项目关键代码读取excel中的人员名单实现随机滚动抽取主函数中Tkinter的界面相关操作实现窗口相关背景图设置组件相关 完整代码 四、将程序封装成.exe可执行文件将代码转…

【C++基础】6. 常量

文章目录 【 1. 常量的分类 】1.1 整型常量1.2 浮点常量1.3 字符常量1.4 字符串常量1.5 布尔常量 【 2. 常量的定义 】2.1 #define 预处理器2.2 const 关键字 常量 是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。常量可以是任何的基本数…

Linux C进程间通信(IPC)

概述 每个进程有独立的进程空间: 好处————安全 缺点:开销大(独立的地址空间);进程的通信更加困难(对其他进程的操作开销也大) 广义上的进程间通信: A进程写给文件/数据库&am…

重拾html5

新增的position: sticky; 基于用户的滚动位置来定位,粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。ie15以上的低版本不支持,Safari 需要使用 -webkit- prefix; vertical-align: midd…

ToBeWritten之数据源

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…

【你问我答】Unity实现类似DNF地下城勇士的2D人物移动跳跃

文章目录 前言人物节点创建实现简单移动实现攻击效果实现跳跃人物移动跳跃完整代码人物脚底的影子效果最终运行效果源码参考完结 前言 之前有个小伙伴微信找我,想做一个类似DNF地下城勇士的移动跳跃功能,特别是关于2d的跳跃,之前还不是很有头…

Lua03——开发环境搭建

1 安装开发插件 在 idea 或 vscode 中安装 lua 的开发插件 EmmyLua 2 创建工程 在 idea 中创建一个新的工程 工程的类型选择 lua 输入工程名及目标目录 在工程结构的SDK中设置lua在本地安装目录 在工程结构的modules中选择 lua 3 编写第一个lua程序 在工程下添加程序包&#…

C# OpenVinoSharp PP-TinyPose 人体姿态识别

效果 项目 部分代码 using OpenCvSharp; using OpenCvSharp.Extensions; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;name…

【代码随想录day24】不同的二叉搜索树

题目 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n 3 输出:5示例 2: 输入:n 1 输出&#xf…

TOWE模块化积木式定制PDU的应用优势

随着计算机网络技术发展,服务器、交换机、各种电子设备等关键设备的需求也日益增加,其承担的业务越来越关键,对设备所处的环境(如机房、机柜等)要求也越高,所有参与关键设备运行的设施都必须具有高可靠性与…

给苹果手机相册上锁,有3种方法!

手机跟个人的联系越来越密切,总有些不想让别人看到的图片。如果你使用的恰好是苹果手机,想要隐藏相册里的图片,要怎么做?本篇教大家3个方法。 方法1 将iOS更新至16.0版本,打开苹果手机的【设置】,点击【照…

Stable Diffuse AI 绘画 之 ControlNet 插件及其对应模型的下载安装

Stable Diffuse AI 绘画 之 ControlNet 插件及其对应模型的下载安装 目录 Stable Diffuse AI 绘画 之 ControlNet 插件及其对应模型的下载安装 一、简单介绍 二、ControlNet 插件下载安装 三、ControlNet 插件模型下载安装 四、ControlNet 插件其他的下载安装方式 五、Co…