Spring Cloud学习(一)

Spring Cloud之五大组件 Eureka:注册中心 Ribbon:负载均衡 Feign:远程调用 Hystrix:服务熔断 Zuul/Gateway:网关 阅读详情

Spring Cloud是什么?

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

Spring Cloud 与 微服务

微服务架构模式的目的是将大型的,复杂的,长期运行的应用程序构建为一组相互配合的服务,每个服务都可以很容易进行局部改良.微服务的意思是每个服务应该足够小,小是指业务逻辑上的小.微服务的形象表示:

 

  • X轴: 水平扩展, 即在负载均衡服务器后增加多个运行实例
  • Z轴: 数据库的扩展, 即分库分表
  • Y轴: 功能分解, 即将不同职能的模块划分成不同的服务

Spring Cloud技术概览

 

主要是下面内容:

  • 服务治理
  • 分布式链路监控
  • 消息组件
  • 配置中心
  • 安全控制
  • 命令行工具
  • 集群工具

每个模块又是由不同组件结合来解决,其实学习Spring Cloud就是学会Spring Boot整合这些组件,学会使用,深入理解就好.

Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,提供了完整的Service Registry 和 Service Discovery实现, 是Spring Cloud体系中最重要最核心的组件之一. Eureka相当于图书馆管理员,添加书需要到我这说一下,取书也得到我这报备.所以说Eureka在生产环境中一般是集群,至少两个,否则Eureka一旦挂掉将会影响整个服务.

Eureka就自动具有注册中心,负载均衡,故障转移的功能.

Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方节点,从而对延迟和故障提供更强大的容错能力.也就是微服务中多个服务层调用,基础服务的故障可能会导致级联故障,造成整个系统不可用,就是服务血崩效应,Hystrix就是在这种场景下来做故障隔离,Hystrix 会在某个服务连续调用 N 次不响应的情况下,立即通知调用端调用失败,避免调用端持续等待而影响了整体服务。Hystrix 间隔时间会再次检查此服务,如果服务恢复将继续提供服务。

服务雪崩效应是一种因"服务提供者"不可用导致"服务消费者"的不可用,并且将不可用逐渐放大的过程.

zuul

zuul路由也是微服务架构不可或缺的一部分,提供动态路由,监控,弹性,安全等的边缘服务.具体作用就是服务转发,接受并转发所有内外部的客户端调用,使用 Zuul 可以作为资源的统一访问入口. zuul相当于门卫,对请求进行一些校验等.

Spring Cloud Config

配置中心,把配置文件放在远程服务器,集中化管理集群配置,支持本地存储,git以及svn.

这个组件是解决分布式系统的配置管理方案,包含了client和server两个部分,Server 提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client 通过接口获取数据、并依据此数据初始化自己的应用。

当所有配置存储在配置中心时,配置中心也成为一个很重要的组件,所以一般也建议做集群,支持配置中心高可用.

Spring Cloud Bus

事件,消息总线,用于在集群中传播状态变化,可与Spring Cloud Config联合支持热部署,也就是改变配置文件提交到版本库时,会自动触发对应实例的Refresh.

Spring Cloud Sleuth

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

还有更多的组件,使用的时候再说.


组件的配套使用

 

  • Eureka负责服务的注册和发现,很好将各个服务连接起来
  • Hystrix负责监控服务之间的调用情况,连续多次失败进行熔断保护
  • Hystrix dashboard,Turvine负责监控Hystrix的熔断情况,给予图形化展示(可以理解为图形化工具)
  • Spring Cloud Config提供统一的配置中心服务
  • 配置文件发生改变时,Spring Cloud Bus负责通知各个服务去获取最新的配置信息(实现热部署)
  • 所有对外的请求和服务都通过zuul进行转到,起到API网关的作用
  • sleuth + Zipkin将所有请求数据记录下来,方便进行后续分析.

欢迎工作一到五年的Java工程师朋友们加入Java技术交流:585550789

基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍 基于Spring Boot和Spring Cloud框架开发的微服务架构学习(一)-Spring框架介绍总结 看了几周Spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习感悟。 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道。因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差,最开始我就进入了这样误区。官网的技术导读真的描述的很详细,虽然对于我们看英文很费劲,但如果英文不是很差,请选 阅读详情

相关推荐

spring cloud Greenwich 学习笔记(一)spring cloud eureka ribbon 服务注册与发现

文章目录概述环境说明eureka注册中心eureka 简介工程搭建eureka注册中心服务提供者ribbon客户端负载均衡服务消费者 概述 Spring提供了一系列工具,可以帮助开发人员迅速搭建分布式系统中的公共组件(比如:配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,主节点选举, 分布式session, 集群状态)。协调分布式环境中各个系统,为各类服务提供模板性配置...

刘本龙的专栏 5433

springcloud五大组件

springcloud五大组件:1、注册中心组件(服务治理):Netflix Eureka;2、负载均衡组件:Netflix Ribbon,各个微服务进行分摊,提高性能;3、熔断器组件(断路器):Netflix Hystrix,Resilience4j;保护系统,控制故障范围;4、网关服务组件:Zuul,Spring Cloud Gateway;api网关,路由,负载均衡等多种作用;5、配置中心:Spring Cloud Config,将配置文件组合起来,放在远程仓库,便于管理;

weixin_46048259的博客 3万+

深入理解Spring Cloud完整组件微服务的构建

完整的spring cloud体系,全部的Spring cloud组件,深入理解,浅显易懂,让你也能搭起来微服务的架构!!!!!!!

Spring Cloud都有哪些组件?

对于项目后台的微服务系统, 每一个微服务都不会直接暴露给用户来调用的, 但是如果用户知道了某一个服务的ip:端口号:url:访问参数, 就能直接访问你. 如果再是恶意访问,恶意攻击, 就会击垮后台微服务系统.因此, 需要一个看大门的大boss, 来保护我们的后台系统.随后断路器会自动进入半开状态。服务降级原理Hystrix为每个服务分配了小的线程池, 当用户发请求过来, 会通过线程池创建线程来执行任务, 当创建的线程池已满或者请求超时(这里和多线程线程池不一样,不存在任务队列), 则启动服务降级功能.

Aa112233aA1的博客 4027

Sharding-JDBC 系列专题 - 第九篇:高可用性与集群管理

高可用性是指系统在面对故障(如数据库宕机、网络中断)时,能够快速恢复并继续提供服务。Sharding-JDBC 和 Sharding-Proxy 提供了多种机制支持高可用性,同时需要结合底层数据库的高可用方案(如 MySQL 主从复制、MHA)来实现。高可用性和集群管理是 Sharding-JDBC 和 Sharding-Proxy 在生产环境中成功应用的关键。本篇详细介绍了数据库高可用方案、Sharding-JDBC 的故障切换机制、Sharding-Proxy 的集群部署,以及分布式治理功能。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 1393

Pikachu靶场环境搭建(Windows环境下安装详细教程)

Pikachu靶场是一个漏洞测试练习平台。其中包含了常见的web安全漏洞,如果你是一个渗透测试学习者没有靶场的练手,那么pikachu是一个很好的测试平台。

weixin_42857656的博客 1829

SpringCloud有哪些组件

Spring Cloud是基于Spring Boot的,它提供了一系列的、针对开发的特性和组件,用于帮助开发人员快速构建和管理云原生应用程序。Spring Cloud的主要目标是解决中的常见问题,例如服务发现、负载均衡、配置管理、断路器、消息总线等。所以,单体应用使用Spring,需要快速构建,简化开发使用SpringBoot,构建分布式、微服务应用,使用SpringCloud。

m0_73473352的博客 3684

[Unity Demo]从零开始制作空洞骑士Hollow Knight第四集:制作更多的敌人

大家好久不见,终于放完中秋假期可以回自己家里打代码了,上一期我介绍了为什么和如何导入2D toolkit以及制作一个完整的敌人(就是那只蚊子包括了精灵,动画,状态机行为以及脚本)现在不妨趁热打铁制作更多的敌人。

dangoxiba的博客 1975

3、spring cloud 五大组件

Spring cloud五大组件

qq904748592的博客 1万+

2021-8-14 EDK II编译

2021-8-14 EDK II 编译为什么要写这篇文章新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 为什么要写这篇文章 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdo

qq_45775660的博客 2949

从原理到实践:详解RGBD相机深度与彩色图像对齐(D2C)算法

本文深入解析了RGBD相机深度与彩色图像对齐(D2C)算法的原理与实现。针对自组装相机中深度图与彩色图不匹配的核心痛点,文章从相机模型、坐标系变换等数学基础讲起,剖析了传统点映射算法的缺陷,并重点介绍了高效的矩形区域映射算法。该算法通过将深度像素视为矩形区域进行映射,有效解决了空洞和遮挡问题,并附有可直接复用的C++代码与优化技巧,为三维重建、机器人视觉等应用奠定坚实基础。

weixin_28363123的博客 243

spring cloud学习——spring cloud config(一)

前言:Spring Cloud 为开发人员提供了一系列的工具来快速构建分布式系统的通用模型 。例如:配置管理、服务发现、断路由、智能路由、微代理、控制总线、一次性Token、全局锁、决策竞选、分布式session、集群状态等等。分布式系统的协助需要一大堆的模型,使用SpringCloud开发者能快速的建立支持实现这些模式的服务和应用程序。他们将适用于任何分布式环境,无论是开发者的个人电脑还是生产环...

it帝国的博客-辉 1253

Arduino蜂鸣器播放《Astronomia》:从乐谱到代码的嵌入式音乐实现

在嵌入式系统开发中,通过编程控制硬件执行特定任务是核心基础。其原理在于利用微控制器生成精确的时序和频率信号,驱动执行器(如蜂鸣器、电机)完成预定动作。这项技术的价值在于实现了软件逻辑与物理世界的直接交互,是物联网设备、智能硬件开发的基石。常见的应用场景包括电子玩具的音效生成、报警器设计以及交互式艺术装置。本文以热门歌曲《Astronomia》的播放为例,具体展示了如何运用Arduino的`tone()`函数和数组数据结构,将抽象的乐谱转化为可执行的频率与延时控制代码,完整呈现了从**核心硬件解析**到**软

weixin_29796279的博客 348

[Spring Cloud] Spring Cloud 学习笔记一

1 下载JDK 1.8 2 下载JCE 1.8 解压到: JDK/jre/lib/security 3 下载Eclipse 4 下载Maven 5 property source: 属性配置文件 enviroment: spring.profiles.active - bootstrap context: bootstrap.properties/b...

amos_tl的专栏 445

二、时间序列的预处理

一般情况下,拿到一个观察值序列之后,首先要对它的平稳性和纯随机性进行检验,这两个重要的检验称为序列的预处理。根据检验的结果可以将序列分为不同的类型,对不同类型的序列我们会采用不同的分析方法。 一、平稳性检验 1、特征统计量 (1)概率分布           数理统计的基础知识告诉我们分布函数或者密度函数能够完整地描述一个随机变量的统计特征。同样,一个堆积变量族{Xt} 的统计特征也完全由...

Nicole的博客 2万+

基于反事实的因果推理Causal inference based on counterfactuals--一万六千字文献详细解读(因果关系的推理应用)【全文总结】

基于反事实的因果推理Causal inference based on counterfactuals--一万六千字文献详细解读(因果关系的推理应用)【全文总结】---来自一位即将入学的准研一,也希望这篇文章能够激励自己不断走下去!!

qq_46044325的博客 4443

Spring Cloud Netflix学习(一)

文章目录概述创建统一的依赖管理服务注册与发现创建服务注册中心Applicationapplication.yml操作界面创建服务提供者(生产者)POMApplicationapplication.ymlController创建服务消费者(Ribbon)准备工作创建服务消费者Applicationapplication.ymlConfiguration创建测试用的 Service创建测试用的 Con...

七年蝉 1万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Spring Cloud 学习之路(一)

没有简介 背景 小程序Dog终于从传统的开发框架中跑出来了,进公司的第一个项目也是现在在座的项目使用的是Spring Cloud搭建的为服务架构,目前用到的技术Spring Cloud 全家桶,使用fegin为服务间通信,(这后面的基本没见过)ribbon负载均衡器,Hystrix断路器;数据库使用mysql,多服务同步缓存数据使用rabbitmq,这些技术也准备接下来作为笔记记录, 笔记一之Sp...

qq_41418638的博客 237

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Spring Cloud学习过程一

Spring Cloud 在服务治理中为我们做了一层抽象,方便我们集成各种服务治理组件。 如:eureka,consul,zookeeper等。 Spring Cloud Eureka 实现步骤: 1.创建项目,引用 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artif

knight的博客 226

spring-cloud学习之路一

一不小心的程序员 305

Spring Cloud学习一

系统负载保护,提供系统维度的自适应保护能力,当系统负载较高的时候,如果还持续让请求接入可能会导致系统崩溃,无法响应,在集群环境下,会把本应这台机器承载的流量转发到其他的机器上去,如果这个时候其他的机器也处在一个边缘状态的时候,Sentinel提供了对象的保护机制,让系统的入口流量和系统的负载达到一个平衡,保证系统在能力范围之内处理最多的请求。2.4、服务容错,在微服务当中,一个请求经常会涉及到调用几个服务,如果其中某个服务不可用,没有做服务容 错的话,极有可能会造成一连串的服务不可用,这就是雪崩效应。

lssffy的博客 588

一、spring-cloud-alibaba学习

一、基于spring-cloud-alibaba构建微服务 文章目录一、基于spring-cloud-alibaba构建微服务前言正文一、spring-cloud-alibaba介绍二、主要功能三、组件总结 前言 本文章主要记录基于spring-cloud-alibaba,nacos,sentinel,seata,spring-cloud-gateway,oautth2构建微服务的过程,构建过程中主要参考了:spring-cloud-alibaba官网,seata官网,博客传送门等 提示:以下是本篇文

qq_38326504的博客 200

Spring Cloud 小白自我学习篇《一》

给大家看看我的项目结构先: 首先第一步: 准备开发的工具及开发环境等:(环境这块如果你们想和我统一的话在下边留言我可以发给你们) 我用的是idea编辑器、mysql是mysql-8.0.20-winx64、构建项目使用的是maven 第二步: 构建项目的父工程(父工程主要就是为了统一来管理子模块的版本) 可能有小白照我这个做都会出现 各种莫名的bug不过不要慌 都是能解决的!加油!!! <?xml version="1.0" encoding="UTF-8"?&g...

csdn学子 208

(一)学习spring-cloud:2021之spring-authorization-server

1. 前言 1.1为什么使用spring-authorization-server? 真实原因:原先是因为个人原因,需要研究新版鉴权服务,看到了spring-authorization-server,使用过程中,想着能不能整合新版本cloud,因此此处先以springboot搭建spring-authorization-server,后续再替换为springcloud。 官方原因:原先使用Spring Security OAuth,而该项目已经逐渐被淘汰,虽然网上.............

qq_37182370的博客 1万+

Spring Cloud学习详解一

微服务架构: "微服务”一词源于 Martin Fowler的名为 Microservices的博文,可以在他的官方博客上找到 http://martinfowler.com/articles/microservices.html 微服务是系统架构上的一种设计风格,它的主旨是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务之间一般通过

qq_45228323的博客 305

Spring Cloud Gateway 学习笔记一

目录SpringCloudGateway 角色及初始化过程1.RouteDefinition2.RouteDefinitionLocator3.Route对象RouteLocator4.FilteringWebHandler5.RoutePredicateHandlerMapping SpringCloudGateway 角色及初始化过程 gateway 初学源码理解笔记,如有错误,望指正。 1....

HLPS109的博客 323
上一篇: 学习Java编程日后有哪些发展前景
下一篇: javaweb + websocket实现客户端
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值