关于“你对SpringCloud的理解”

看看普通人和高手是如何回答这个问题的?

普通人

Spring Cloud 是一套微服务解决方案

它包括配置中心、RPC 通信、服务注册、服务熔断等组件

高手

Spring Cloud 是一套

分布式微服务的技术解决方案

它提供了快速构建分布式系统的

常用的一些组件

比如说配置管理、服务的注册与发现、

服务调用的负载均衡、资源隔离、熔断降级等等

不过 Spring Cloud 只是 Spring 官方提供的

一套微服务标准定义

而真正的实现

目前有两套体系用的比较多

一个是 Spring Cloud Netflix

一个是 Spring Cloud Alibaba

Spring Cloud Netflix 是基于 Netflix 这个公司的开源组件集成的一套微服务解决方案,其中的组件有

  1. Ribbon——负载均衡

    Spring Cloud Ribbon 是一套基于 Netflix Ribbon 实现的客户端负载均衡和服务调用工具。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心、配置中心、API网关那样需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。因为微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的。

    在这里插入图片描述

  2. Hystrix——服务熔断

    ①Hystrix是一个用于处理分布式系统的延迟和容错的开源库,可以保证一个服务出现故障时,不会导致整个系统出现雪崩效应,以提高分布式系统弹性;

    ②作为“断路器”,在一个服务出现故障时,可以通过短路器监控,返回一个可以处理的响应结果,保证服务调用线程不会长时间被占用,避免故障蔓延。

    在这里插入图片描述
    在这里插入图片描述

  3. Zuul——网关

    Zuul是spring cloud中的微服务网关。网关:是一个网络整体系统中的前置门户入口。请求首先通过网关,进行路径的路由,定位到具体的服务节点上。

    Zuul是一个微服务网关,首先是一个微服务。也是会在Eureka注册中心中进行服务的注册和发现。也是一个网关,请求应该通过Zuul来进行路由。

    Zuul网关不是必要的。是推荐使用的。

    使用Zuul,一般在微服务数量较多(多于10个)的时候推荐使用,对服务的管理有严格要求的时候推荐使用,当微服务权限要求严格的时候推荐使用。
    在这里插入图片描述

  4. Eureka——服务注册与发现

    服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。

    Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。主要负责完成微服务架构中的服务治理功能。

    Eureka服务治理体系如下:

    在这里插入图片描述

  5. Feign——服务调用

    Feign是一个声明式WebService客户端。使用Feign能让编写Web Service客户端更加简单。它的使用方法是定义一个服务接口然后在上面添加注解。Feign也支持可拔插式的编码器和解码器。Spring Cloud对Feign进行了封装,使其支持了Spring MVC标准注解和HttpMessageConverters。Feign可以与Eureka和Ribbon组合使用以支持负载均衡。

    在这里插入图片描述

Spring Cloud Alibaba 是基于阿里巴巴开源组件集成的一套微服务解决方案,其中包括

  1. Dubbo——消息通讯

  2. Nacos——服务注册与发现

  3. Seata——事务隔离

  4. Sentinel——熔断降级

有了 Spring Cloud 这样的技术生态

使得我们在落地微服务架构时不用去考虑第三方技术集成带来额外成本,只要通过配置组件来完成架构下的技术问题

从而可以让我们更加侧重性能方面

以上这些就是我对 Spring Cloud 的个人理解!

好的,关于普通人与高手的回答

谁的回答较好,大家心中自有定论

那么还有哪些组件是在文章中没有提到?

可以在评论区补充留言!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

人工智能与供应链行业融合:开启智能化供应链的新时代

随着人工智能技术的快速发展,供应链行业正迎来革命性变革。本文将探索人工智能在供应链管理中的应用领域,并分析其带来的益处和挑战,展望人工智能与供应链融合的未来发展趋势。 引言 供应链管理是企业运营中不可或缺的重要组成部分。它涵盖了…

Typora免费版安装教程(仅供学习)

目录 一、Typora简介二、Typora安装三、Typora补丁四、Typora使用体验五、总结 一、Typora简介 Typora是一款非常流行的Markdown编辑器,它能够将Markdown文本转化为漂亮的排版,并且支持实时预览。Typora具有简单易用的界面,使得用户可以轻松地…

微机原理9

一、单项选择题(本大题共15小题,每小题3分、共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 8088 系统的内存最大容量为 16MB. 其地址总线为() A. 16 位 B. 20 位 C. 24 位 D. 32 位 2,以CPU为核心…

鸿宇多用户商城user.php RCE漏洞复现

0x01 产品简介 鸿宇多用户商城是一款支持各行业的多商家入驻型电商平台系统,商家版APP,微信商城,小程序及各种主流营销模块应有尽有,是一个功能强大的电子商务平台,旨在为企业和个人提供全面的在线购物解决方案。 0x02 漏洞概述 鸿宇多用户商城 user.php 存在任意命令执行漏洞…

无人机停机坪的主要功能有哪些

随着无人机行业领域的不断完善,无人机停机坪作为一项关键基础设施,正发挥着越来越重要的作用。无人机停机坪也叫无人机机巢、无人机机库、无人机机场。无人机停机坪不仅是无人机的“家”,更是其高效运行的关键环节。让我们一同探索无人机停机…

SQL Sever 基础知识 - 数据筛选(3)

SQL Sever 基础知识 - 四、数据筛选 第7节 BETWEEN7.1 BETWEEN 运算符概述7.2 BETWEEN 示例7.2.1 BETWEEN 与数字示例7.2.2 BETWEEN 和日期示例 第8节 LIKE8.1 LIKE运算符概述8.2 转义字符8.3 LIKE 示例8.3.1 % (百分号) 通配符示例8.3.2 _(下划线)通配符示例8.3.3 [字符列表] …

【Qt开发流程】之定时器事件与随机数示例

描述 QObject是所有Qt对象的基类,提供了Qt中基础的定时器支持。通过QObject::startTimer()函数,可以使用毫秒为单位的时间间隔来启动一个定时器。该函数返回一个唯一的整数定时器ID。该计时器现在将以规律的间隔触发,直到显式调用QObject::k…

安卓apk抓包(apk抓不到包怎么办)

起因 手机(模拟器)有时候抓不到apk的包,需要借助Postern设置一个代理,把模拟器的流量代理到物理机的burp上。 解决方案 使用Postern代理,把apk的流量代理到burp。 Postern是一个用于代理和网络流量路由的工具&#xf…

智能优化算法应用:基于黑猩猩算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于黑猩猩算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于黑猩猩算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.黑猩猩算法4.实验参数设定5.算法结果6.参考文献7.…

根文件系统lib库添加与初步测试

一. 简介 我们在编译 busybox源码时,选择的是动态编译,所以,制作生成的 根文件系统中/bin或 /sbin目录下软件运行时会调用到一些库文件的。库文件就是交叉编译器的库文件。 前面我们编译 busybox源码时,选择动态编译&#xff0…

APP逆向工具环境安装

环境安装及配置: 1.JDK安装及配置链接:https://pan.baidu.com/s/146I4vDJdz8YeR0OEqLS8xw 提取码:7h00 2.SDK环境配置链接:https://pan.baidu.com/s/1A8rwqyw8Nn7p93Axqpll3A 提取码:cwv43.NDK环境配置链接&#xff1…

YITH WooCommerce Social Login跨境电商网站社交登录高级版插件

点击阅读YITH WooCommerce Social Login跨境电商网站社交登录高级版插件原文 YITH WooCommerce Social Login跨境电商网站社交登录高级版插件让您的用户节省时间并通过他们的社交资料之一登录或注册网站。 您如何从中受益: 用户无需填写表格、插入个人数据&#…

华清远见嵌入式学习——C++——作业5

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;//沙发 类 class Sofa { private:string sitting; //是否可坐double *cost; //花费 public://无参构造函数Sofa(){}//有参构造函数Sofa(string s,double c):sitting(s),cost(new double(…

Python面向对象练习

Python面向对象练习 class Enty:blood100name""atackvalue100team0domain[1] #1,land 2 airdef setTeam(self,team0):self.teamteamdef atack(self,Enty):if self.teamEnty.team:print("不能向盟军开火")self.info()passelse :# print(self.domain)ss…

Python入门07循环及常见的数据结构

目录 1 循环的语法结构2 break和continue的示例3 可迭代对象4 列表5 元组6 列表和元组的应用场景7 集合8 字典9 生成器 1 循环的语法结构 在Python中&#xff0c;循环是一种控制结构&#xff0c;用于重复执行一段代码&#xff0c;直到满足特定条件。Python中有两种循环结构&am…

【超详细教程】基于html+js实现轮播图

轮播图是现代网页设计中常见的元素之一&#xff0c;它能够展示多张图片或内容&#xff0c;在有限的空间内循环播放&#xff0c;提升网页的视觉效果和用户体验。下面将以一个简单的网页轮播图为例&#xff0c;说明如何基于HTML和JavaScript实现。 ​ 1、R5Ai智能助手 chatgpt国…

Tap虚拟网卡 (草稿)

1 概述 Tap设备通常用于虚拟化场景下&#xff0c;参考如下场景&#xff1a; 图中标注了关键函数&#xff0c;以及数据流向。 tun有两个数据接口&#xff0c; file&#xff0c;给用户态使用&#xff1b;socket&#xff0c;给内核态使用&#xff0c;例如vhost 2 异步处理 图…

他山之石,可以攻玉|银行业数据中心数字化转型之模型篇 04(完结)

导语&#xff1a;他山之石&#xff0c;可以攻玉&#xff5c;银行业数据中心数字化转型之模型篇 04&#xff08;完结&#xff09; 银行业数据中心数字化转型是一项系统性工程既涉及管理层面转型——包括数字化转型战略、基础架构和技术架构转型、技术创新和知识体系转型&#xf…

2023Q4 私有化版本发布,和鲸 ModelWhale 持续赋能大科研、高校教改的 AI for Science

作为数据科学多人协同平台&#xff0c;和鲸 ModelWhale 从一而终地为各级用户提供完备而周全的解决方案&#xff0c;覆盖数据研究、算法探索、模型调优、Python 案例教学等多个场景。特别地&#xff0c;如果对研究分析平台有更高的安全合规要求、希望兼容原有业务系统&#xff…

安全测试工具Burpsuit和OWASP ZAP使用入门指南

Burpsuit使用入门指南 安装&#xff1a; 网上有很多相关相关保姆级别教程&#xff0c;所以这里不加赘述了 尽量使用java8版本&#xff0c;破解版兼容8做的比较好 如果发现注册机无法打开或者能打开注册机【run】无法点击唤起软件安装&#xff0c;可以使用命令行工具java -jar…