当前位置: 首页 > news >正文

【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

 

相关文章:

【1.2】Java微服务:SpringCloud概论

✅作者简介:大家好,我是 Meteors., 向往着更加简洁高效的代码写法与编程方式,持续分享Java技术内容。 🍎个人主页:Meteors.的博客 💞当前专栏: 微服务 ✨特色专栏: 知识分享 &#x…...

右键文件夹 ------- 打开 vscode的方法

1、右键vscode点击属性 2、这是地址栏,一会复制即可 3、新建一个txt文件,将这个复制进去 Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\VSCode] "Open with Code" "Icon""D:\\Microsoft VS Code\\Code.exe"[HKE…...

小程序原生实现左右锚点联动

效果 wxml <view classbox><scroll-view scroll-y scroll-with-animation style"width:25%"><view classnav><view wx:for"{{navList}}" wx:keyindex class"title {{index active ?select:}}"data-index{{index}} bin…...

STM32 低功耗-睡眠模式

STM32 睡眠模式 文章目录 STM32 睡眠模式第1章 低功耗模式简介第2章 睡眠模式简介2.1 进入睡眠模式2.1 退出睡眠模式 第3章 睡眠模式代码示例总结 第1章 低功耗模式简介 在 STM32 的正常工作中&#xff0c;具有四种工作模式&#xff1a;运行、睡眠、停止和待机模式。 在系统或…...

IDEA用Gradle构建项目时,lombok插件无效的解决办法

Lombok 可用来帮助开发人员消除 Java 的重复代码&#xff0c;尤其是对于简单的 Java 对象&#xff08;POJO&#xff09;&#xff0c;比如说getter/setter/toString等方法的编写。它通过注解实现这一目的。 正确使用姿势 一、安装Lombok插件 菜单栏File -> Settings ->…...

基于方向编码的模板匹配算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022a 3.部分核心程序 ........................................................................... %选择移动个…...

shell centos 7 一键部署 KVM软件脚本

这个脚本有限地方还需要完善下 设计思路&#xff1a; 1、创建检查内核函数 check_kernel() 2、创建升级内核函数 update_kernel() 3、创建检查是否支持虚拟化函数 check_virtual() 4、创建检查操作系统函数 check_system() 5、创建检查网络函数 check_network() 6…...

64 # 实现一个 http-server

准备工作 上一节实现了通过 commander 的配置获取到用户的参数&#xff0c;下面完成借用 promise 写成类的方法一节没有完成的任务&#xff0c;实现一个 http-server&#xff0c;https://www.npmjs.com/package/http-server&#xff0c;http-server 是一个简单的零配置命令行静…...

HCIP作业3

题目 配置IP地址 R1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [r1-Serial4/0/0]ip add 12.1.1.1 24 R2 [r2]int s4/0/0 [r2-Serial4/0/0]ip add 12.1.1.2 24 [r2-Serial4/0/0]int s4/0/1 [r2-Serial4/0/1]ip add 32.1.1.1 24 [r2-Serial4/0/1]in…...

【测试学习三】软件测试的生命周期 BUG的相关知识

目录 一、软件测试的生命周期&#xff08;重要&#xff09; &#x1f351;1、软件的生命周期&#xff1f; &#x1f351;2、软件测试的生命周期&#xff1f; 二、关于BUG &#x1f351;1、如何描述与定义一个BUG&#xff1f;&#xff08;了解&#xff09; &#x1f351;2…...

git rebase 的坑儿

1 同步远程仓库 git pull --rebase拉取远程分支之后如果没有冲突直接使用 git rebase --continue若有冲突, 解决冲突, 一般是使用当前的更改, 因为传入的更改是你本地的更改 然后使用 git add 提交冲突 此处千万别使用 git commit --amend 最后使用 git rebase --continu…...

SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】

文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表&#xff0c;使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…...

iPhone 8 Plus透明屏应用范围详解

iPhone 8 Plus是苹果公司于2017年推出的一款智能手机&#xff0c;它采用了全新的玻璃机身设计&#xff0c;支持无线充电&#xff0c;并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术&#xff0c;可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…...

【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate

FED6 instanceof 描述 请补全JavaScript代码&#xff0c;要求以Boolean的形式返回第一个实例参数是否在第二个函数参数的原型链上。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><style>/* 填写样式 */</style> </h…...

8.物联网操作系统之事件标志组

。事件标志组定义 FreeRTOS事件标志组介绍 FreeRTOS事件标志组工作原理 一。事件标志组定义 信号量信号量只能实现任务与单个事件或任务间的同步。但是某些任务可能会需要与多个事件或任务进行同步&#xff0c;此时就可以使用事件标志组来解决。事件标志组能够实现某个任务与…...

[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算

目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型&#xff0c;专门用于生成对话式文本。它是OpenAI于2021年发布的&#xff0…...

局域网ssh登录windows自带Linux系统(WSL)踩坑记录

局域网ssh登录windows自带Linux系统&#xff08;WSL&#xff09;踩坑记录 系统和工具安装查看IPLinux用户和端口设置Windows ssh 登录Mac ssh 登录 系统和工具安装 先按照网上的教程安装好Linux系统&#xff08;一般都是安装Ubuntu&#xff09;&#xff0c;安装好ssh等工具&am…...

2023-02-03——2023-08-03,半年以来与客服交流的记录【CSND 文章撰写 网站使用求解】客服咨询交流记录(长期更新ing)

这世界上久处不厌,都是因为用心。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP4🌟 🏅[4] 阿里云社区特邀专家博主🏅 🏆...

DCL 操作

文章目录 1.新建用户2.删除用户3.用户授权4.撤销用户权限5.查看用户权限6.修改用户密码 1.新建用户 # 命令格式 CREATE USER [username][host] identified by [password];# 示例 CREATE USER lvlvlocalhost identified by lvlv; CREATE USER lvlv192.168.1.1 identified by lv…...

C++11移动构造函数详解

C11移动构造函数详解 拷贝构造函数修改后的拷贝构造函数移动构造函数移动构造函数的优点 当类中同时包含拷贝构造函数和移动构造函数时&#xff0c;如果使用临时对象初始化当前类的对象&#xff0c;编译器会优先调用移动构造函数来完成此操作。只有当类中没有合适的移动构造函数…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作&#xff1a;验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化&#xff1a;测试aof和aof持久化机制&#xff0c;确保数据在开启后正确恢复。 事务&#xff1a;检查事务的原子性和回滚机制。 发布订阅&#xff1a;确保消息正确传递。 2、性…...

Chromium 136 编译指南 Windows篇:depot_tools 配置与源码获取(二)

引言 工欲善其事&#xff0c;必先利其器。在完成了 Visual Studio 2022 和 Windows SDK 的安装后&#xff0c;我们即将接触到 Chromium 开发生态中最核心的工具——depot_tools。这个由 Google 精心打造的工具集&#xff0c;就像是连接开发者与 Chromium 庞大代码库的智能桥梁…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目&#xff0c;该项目是一个 Spring AI 快速入门的样例工程项目&#xff0c;旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计&#xff0c;每个模块都专注于特定的功能领域&#xff0c;便于学习和…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

HybridVLA——让单一LLM同时具备扩散和自回归动作预测能力:训练时既扩散也回归,但推理时则扩散

前言 如上一篇文章《dexcap升级版之DexWild》中的前言部分所说&#xff0c;在叠衣服的过程中&#xff0c;我会带着团队对比各种模型、方法、策略&#xff0c;毕竟针对各个场景始终寻找更优的解决方案&#xff0c;是我个人和我司「七月在线」的职责之一 且个人认为&#xff0c…...

云安全与网络安全:核心区别与协同作用解析

在数字化转型的浪潮中&#xff0c;云安全与网络安全作为信息安全的两大支柱&#xff0c;常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异&#xff0c;并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全&#xff1a;聚焦于保…...