【1.2】Java微服务:SpringCloud概论

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。
🍎个人主页:Meteors.的博客
💞当前专栏: 微服务
✨特色专栏: 知识分享
🥭本文内容:【1.2】Java微服务:SpringCloud概论
📚 **ps***  : 阅读这篇文章如果有问题或者疑惑,欢迎各位在评论区提出!


-----------------------------------------------------       目录       ----------------------------------------------------------

目录

一.  简介

1. 介绍

2.功能

二、特性

 三、组成

1. 各组件浏览(图)

 2. 各个组件具体介绍


--------------------------------------------------------------------------------------------------------------------------------

一.  简介

1. 介绍

Spring Cloud是一套用于构建分布式系统的开发工具集合,它基于Spring框架,提供了一系列组件和工具,帮助开发人员快速构建可伸缩、高可用的微服务架构。

2.功能

Spring Cloud致力于解决分布式系统中常见的问题,如服务注册与发现、负载均衡、断路器、配置管理、消息总线等。它提供了一系列基于Spring Boot的微服务模块,可以单独或组合使用,以满足不同的业务需求。

二、特性

  • Distributed/versioned configuration(分布式/版本化配置):用于将应用程序的设置和配置集中管理,并在整个系统中共享。这有助于确保所有服务都使用相同的配置。
  • Service registration and discovery(服务注册和发现):允许服务自动注册并公开其端点。其他服务可以通过服务发现查找和使用这些服务。
  • Routing(路由):用于将请求路由到正确的服务实例。可以将负载均衡和服务发现与路由结合起来,以保证高效和可靠的请求路由。
  • Service-to-service calls(服务间通信):用于在不同服务之间进行通信,可以使用REST API、RPC或消息代理等不同的方法。
  • Load balancing(负载均衡):用于将请求分发到多个服务实例,确保每个实例都能够处理适当的工作量。
  • Circuit Breakers(断路机制):用于防止故障的服务破坏整个系统。如果服务出现问题,则断路器可以中断流量并保持系统的稳定性。
  • Global locks(全局锁):用于协调分布式系统中的并发操作,以防止数据竞争和死锁问题。
  • Leadership election and cluster state(推举和集群状态):用于在分布式系统中选择一个主节点,并跟踪集群的状态。
  • Distributed messaging(分布式消息传递):用于异步通信和数据传输,在分布式系统中有很多不同的实现方式。 
​​​​                                      (ps:这里推荐浅过一遍,在后面配合具体实现理解)

 三、组成

1. 各组件浏览(图)

 2. 各个组件具体介绍

  1. 浏览控制和业务降级
    1. Hystrix:Netflix开源的一种容错和延迟容忍库,用于处理分布式系统中的故障和延迟。它实现了断路器模式,主要解决由于依赖服务故障导致的级联故障问题。
    2. Sentinel:阿里巴巴开源的一款轻量级流量控制和熔断降级框架。它提供了实时的流量控制、熔断降级、系统负载保护等功能,能够帮助开发者保护系统的稳定性和可靠性。
  2. 分布式配置
    1. SpringCloudConfig:一个用于集中管理和分发应用程序配置的开源框架。它提供了一种简单而强大的方式来管理不同环境下的配置,例如开发环境、测试环境和生产环境。
    2. Nacos:一个开源的动态服务发现、配置管理和服务管理平台。它提供了服务注册与发现、配置管理和服务治理等功能,能够帮助开发者构建弹性可伸缩的微服务架构。
  3. 服务链路监控
    1. Zipkin:一个开源的分布式跟踪系统,用于帮助开发者收集、存储和分析跨多个微服务的请求链路数据。它提供了一个可视化界面,展示了请求在不同微服务之间的调用关系和性能指标,有助于快速定位和解决分布式系统中的性能问题和故障。
    2. Sleuth:一个为 Spring Cloud 架构提供的分布式跟踪解决方案。它是基于 Zipkin 实现的,用于协调和捕获分布式系统中请求的跟踪信息。Sleuth 可以为微服务架构中的每个请求生成一个唯一的跟踪ID,并在整个请求链路中传递和记录该ID,以便进行分布式调用的跟踪和监控。
  4. 服务注册和发现
    1. Eureka:Netflix开源的一个基于RESTful的服务注册与发现组件,用于构建可扩展的、高可用的微服务架构。它的主要功能是实现服务的注册和发现,使得微服务可以自动地在集群中进行通信。
    2. Consul:一个开源的服务发现和配置工具,由HashiCorp公司开发。它提供了一种简单而可靠的方式来注册、发现和配置分布式系统中的服务。
  5. 统一网关路由
    1. SpringCloudGateway:Spring Cloud生态系统中的一个网关组件,用于构建基于微服务的API网关。它基于Spring Framework 5、Project Reactor和Spring Boot 2等技术栈,提供了一种简单、灵活和高效的方式来路由、过滤和转换请求。
    2. Zuul:Netflix开源的一个基于Java的边缘服务网关,用于构建和管理微服务架构中的API网关。它提供了一种简单、可扩展和高性能的方式来路由、过滤和转换请求。
  6. 远程过程调用
    1. OpenFeign:一个声明式的HTTP客户端框架,用于简化基于HTTP的服务之间的通信。它是Spring Cloud生态系统中的一部分,旨在提供一种优雅而简单的方式来定义和使用RESTful服务接口。
    2. Dubbo:一个由阿里巴巴开源的高性能RPC(远程过程调用)框架,用于简化分布式系统中服务之间的通信。它提供了基于Java的远程方法调用和服务治理的功能,旨在帮助开发者构建可扩展和高可用的分布式应用。

最后,

        相关内容会在专栏陆续更新,希望文章对你有所帮助..!

参考资料:

Spring Cloudicon-default.png?t=N6B9https://spring.io/projects/spring-cloud

 

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

纯css实现登录表单动效

效果图&#xff1a; 代码展示 // 我这边用的是elementUI表单校验&#xff0c;更改的样式。 <el-form:model"form":rules"rules"ref"fromList":hide-required-asterisk"true"><el-form-item prop"account"><…

【phaser微信抖音小游戏开发005】画布上添加图片

特别注意&#xff1a;真机模拟的时候&#xff0c;尽量使用网络图片资源&#xff0c;不要在小程序源文件里面使用图片&#xff0c;会出现真机加载不成功&#xff0c;小程序包体积过大的问题。我们学习过程中&#xff0c;只是作为演示使用。 推荐使用场景&#xff1a; 背景图片…

vue3引入video.js

一.引入video.js yarn add video.js videojs-player/vue --save 或者 npm install video.js videojs-player/vue --save 二.vue3项目main.js引入 import VueVideoPlayer from "videojs-player/vue" import "video.js/dist/video-js.css" const app cr…

W6100-EVB-PICO做DNS Client进行域名解析

前言 在上一章节中我们用W6100-EVB-PICO通过dhcp获取ip地址&#xff08;网关&#xff0c;子网掩码&#xff0c;dns服务器&#xff09;等信息&#xff0c;给我们的开发板配置网络信息&#xff0c;成功的接入网络中&#xff0c;那么本章将教大家如何让我们的开发板进行DNS域名解…

AP5179 高端电流采样降压恒流驱动IC SOP8 LED车灯电源驱动

产品描述 AP5179是一款连续电感电流导通模式的降压恒流源&#xff0c;用于驱动一颗或多颗串联LED输入电压范围从 5 V 到 60V&#xff0c;输出电流 最大可达 2.0A 。根据不同的输入电压和外部器件&#xff0c; 可以驱动高达数十瓦的 LED。内置功率开关&#xff0c;采用高端电流…

MySQL性能优化

索引下推是什么&#xff1f; 索引下推是索引下推是 MySQL 5.6 及以上版本上推出的&#xff0c;用于对查询进行优化。 索引下推是把本应该在 server 层进行筛选的条件&#xff0c;下推到存储引擎层来进行筛选判断&#xff0c;这样能有效减少回表。 举例说明&#xff1a; 首先…

掌握Java JDK 1.8 API帮助文档中文版,事半功倍编程

文章目录 1. JDK 1.8 API帮助文档简介2. 如何查阅JDK 1.8 API帮助文档中文版2.1 在线文档2.2 本地文档2.3 集成开发环境&#xff08;IDE&#xff09; 3. 如何使用JDK 1.8 API帮助文档中文版3.1 寻找类和方法3.2 阅读文档说明3.3 查看示例代码 4. 总结 引言&#xff1a; Java是一…

Docker Compose 使用方法

目录 前言 安装 Docker Compose Ubuntu 安装与更新 Red Hat 安装与更新 验证是否安装 Docker Compose 创建 docker-compose.yml 文件 创建一个MySQL 与 tomcat 示例 使用Docker Compose启动服务 前言 Docker Compose 是一个工具&#xff0c;旨在帮助定义和 共享多容器…

Docker 容器生命周期:创建、启动、暂停与停止----从创建到停止多角度分析

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

解决Hadoop审计日志hdfs-audit.log过大的问题

【背景】 新搭建的Hadoop环境没怎么用&#xff0c;就一个环境天天空跑&#xff0c;结果今天运维告诉我说有一台服务器磁盘超过80%了&#xff0c;真是太奇怪了&#xff0c;平台上就跑了几个spark测试程序&#xff0c;哪来的数据呢&#xff1f; 【问题调查】 既然是磁盘写满了&…

Python案例分析|使用Python图像处理库Pillow处理图像文件

本案例通过使用Python图像处理库Pillow&#xff0c;帮助大家进一步了解Python的基本概念&#xff1a;模块、对象、方法和函数的使用 使用Python语言解决实际问题时&#xff0c;往往需要使用由第三方开发的开源Python软件库。 本案例使用图像处理库Pillow中的模块、对象来处理…

从互联网到云时代,Apache RocketMQ 是如何演进的?

作者&#xff1a;隆基 2022 年&#xff0c;RocketMQ 5.0 的正式版发布。相对于 4.0 版本而言&#xff0c;架构走向云原生化&#xff0c;并且覆盖了更多业务场景。 消息队列演进史 操作系统、数据库、中间件是基础软件的三驾马车&#xff0c;而消息队列属于最经典的中间件之一…

八大排序算法--希尔排序(动图理解)

目录 希尔排序 概念 算法思路 动画演示 代码如下 复杂度分析 时间复杂度测试 运行结果 完整代码 创作不易&#xff0c;如果本篇博客对您有一定的帮助&#xff0c;大家记得留言点赞哦。 希尔排序 概念 希尔排序是插入排序的一种&#xff0c;是对直接插入排序的优化。其…

华为数通HCIP-IP组播基础

点到点业务&#xff1a;比如FTP&#xff0c;WEB业务&#xff0c;此类业务主要特点是不同的用户有不同的需求&#xff0c;比如用户A需要下载资料A&#xff0c;用户B需要下载资料B。此类业务一般由单播承载&#xff0c;服务器对于不同用户发送不同的点到点数据流。 ospf、isis…

TP DP PP 并行训练方法介绍

这里写目录标题 张量并行TP流水线并行 PPnaive模型并行GPipePipeDream 数据并行DPFSDP 张量并行TP 挖坑 流水线并行 PP 经典的流水线并行范式有Google推出的Gpipe&#xff0c;和微软推出的PipeDream。两者的推出时间都在2019年左右&#xff0c;大体设计框架一致。主要差别为…

【Apollo学习笔记】—— Cyber RT之调度

文章目录 前言相关代码整理 调度介绍Cyber RT的改进实时操作系统资源限制&优先级协程 Cyber RT调度策略任务窃取两种任务类型componen组件自定义任务 Cyber调度实践配置文件DAG文件cyber_launch文件component组件BUILD文件 问题参考 前言 本文是对Cyber RT的学习记录,文章可…

devops(前端)

1.前言 前端的打包流程和后端的流程是一样的&#xff0c;只是打包的环境和制作的镜像有所不同&#xff0c;前端需要使用nodejs环境打包&#xff0c;镜像也是使用nginx镜像&#xff0c;因为用的是k8s的pod运行镜像&#xff0c;还需要使用configmap挂载nginx的配置&#xff0c;一…

二、vagrant中安装centos-7

篇章二、vagrant中安装centos-7 前言 使用Vagrant创建镜像时&#xff0c;需要指定一个镜像&#xff0c;也就是box&#xff0c;若不存在Vagrant则会先从网上下载&#xff0c;而后缓存在本地目录下。 Vagrant有一个 镜像网站 &#xff0c;可以根据需要在这个网站中下载所需镜像…

11-矩阵(matrix)_方阵_对称阵_单位阵_对角阵

矩阵及其运算 [ a 11 ⋯ a 1 n ⋯ ⋯ ⋯ a m 1 ⋯ a m n ] \begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \cdots & \cdots & \cdots \\ a_{m1} & \cdots & a_{mn} \\ \end{bmatrix} ​a11​⋯am1​​⋯⋯⋯​a1n​⋯amn​​ ​ 矩阵就是二维数组&…

JavaWeb(7)——前端综合案例1(面向对象)

目录 一、实例需求 ❗ 二、 实现 &#x1f3af; 三、代码优化 &#x1f482; &#x1f4bb; &#x1f474;&#x1f3fd; 四、继续优化和总结 &#x1f315;&#x1f44d; 五、需要注意的 ❌ 一、实例需求 ❗ JS进阶-day3-184-综合案例-模态框构造函数写法 二、 实现 &a…