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

SpringCloud五大组件

微服务SpringCloud整合技术组件基本流程:

  1. 引入组件启动器依赖坐标
  2. 覆盖默认配置即application.properties配置文件(每个微服务只有一个并且服务启动默认加载)
  3. 引导类(微服务入口即main方法)自定义开启组件注解
    在这里插入图片描述

SpringCloudEureka

在这里插入图片描述

服务注册中心,分为EurekaService服务端和EurekaClient客户端;EurekaService服务端单独微服务部署(引导类@EnableEurekaServer开启EurekaService服务端组件),实现其他微服务的注册、检测已注册微服务的心跳、实现微服务无心跳的下线;EurekaClient客户端位于服务消费方(引导类@EnableDiscoveryClient开启EurekaClient客户端组件),实现微服务发现(获取已注册在EurekaService服务端的微服务列表即服务IP和端口号并且缓存在本地服务,IP和端口号通过RestFul风格接口实现系统内部微服务之间远程调用)、微服务的续约

SpringCloudRibbon

在这里插入图片描述

服务负载均衡,位于服务消费方调用方法上定义@LoadBalanced注解开启负载均衡(由于引入Eureka启动包,Eureka启动包也引入Ribbon负载均衡相关包,因此可以直接使用@LoadBalanced注解);通过负载均衡算法(轮询、随机等)实现负载均衡调用

SpringCloudHystrix

在这里插入图片描述

熔断三种状态:

  1. 开启状态:远程调用服务提供方超时或服务提供方线程池已满;服务消费方所有远程调用请求不允许即不发送远程调用;该状态有默认时间
  2. 关闭状态:全部远程请求允许调用
  3. 半开启状态:开启状态默认休眠期结束进入半开启状态,允许部分远程请求

微服务降级和熔断,位于服务消费方(引导类@EnableCircuitBreaker和方法@HystrixCommand(fallbackMethod=“局部降级方法名”)或声明该类上@DefaultProperties(defaultFallback=“全局降级方法名”)开启Hystrix组件);通过Hystrix实现服务容错,避免多个远程调用超时服务器资源被占用即内存被占用而产生内存溢出最后出现系统雪崩
备注
@HystrixCommand注解fallbackMethod属性对应局部降级方法的形参和被定义的方法形参列表保持一致;
@DefaultProperties注解defaultFallback属性对应该类全局降级方法,因此没有形参
@HystrixCommand和@DefaultProperties还是会发起远程调用请求实现服务降级
@SpringCloudApplication: 包含@SpringBootApplication和@EnableDiscoveryClient和@EnableCircuitBreaker三个组合注解
多次服务降级触发服务熔断

SpringCloudFeign

在这里插入图片描述

服务间远程调用,位于服务消费方(引导类@EnableFeignClients和自定义接口@FeignClient(value=“服务提供方服务id”, fallback=实现类.class)开启远程调用组件);Feign接口定义抽象方法保持服务提供方方法一致包括方法上定义注解和形参,Feign远程调用是通过接口属性值服务id获取IP和端口并且拼接抽象方法上映射注解@RequestMapping属性值URI发起http请求
备注:
Feign集成了Ribbon和Hystrix组件因此也远程调用也支持负载均衡和服务容错;服务容错需要声明定义容错方法,因此Feign默认关闭Hystrix服务容错
开启Feign组件服务容错方法: Feign接口类@FeignClient(value=“服务提供方服务id”, fallback=实现类.class)定义fallback=实现类.class 属性,实现Feign接口并且实现类通过@Component注解注入SpringIOC容器,开启Feign组件服务容错的功能

SpringCloudZuul

在这里插入图片描述

服务网关,外部所有请求都是通过服务网关进行过滤校验、路由转发调用内部微服务接口(引导类@EnableZuulProxy和自定义类继承ZuulFilter类开启服务网关组件);Zuul组件集成了hystrix和Ribbon组件,也支持服务容错和负载均衡

相关文章:

SpringCloud五大组件

微服务SpringCloud整合技术组件基本流程: 引入组件启动器依赖坐标覆盖默认配置即application.properties配置文件(每个微服务只有一个并且服务启动默认加载)引导类(微服务入口即main方法)自定义开启组件注解 SpringCloudEureka 服务注册中心,分为Eure…...

Echart的使用初体验,Echarts的基本使用及语法格式,简单图表绘制和使用及图例添加【学习笔记】

Echart? ECharts 是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,满足各种需求。 ECharts 遵循 Apache-2.0 开源协议,免费商用。 ECharts 兼容当前绝大部分浏览器(IE8/9/10/11,Chrome&#xf…...

聊聊腾讯T13技术专家被开除

这两天腾讯的技术大佬stonehuang被曝离开腾讯,据他老婆在小红书上发的帖子称是遭遇了裁员,说实话刚看到这个消息我挺震惊的,stonehuang在中国大前端领域是排得上号的专家,同时他2005年就加入了腾讯,在qq空间的发展历程…...

c++ 常见宏、模板用法【1】

目录1、宏定义实现简单的断言2、可变参数模板3、变量模板4、宏定义实现范围内的for循环5、模板实现函数对象6、宏定义实现作用域限定7、类型萃取模板1、宏定义实现简单的断言 #define ASSERT(expr) \if(!(expr)) { \std::cout << "assertion failed: " <&l…...

【25】Verilog进阶 - 序列检测

VL25 输入序列连续的序列检测 本题并不难【中等】难度给高了 【做题关键】 (1)需要使用移位寄存器的思路。其实reg型是寄存器,也可以当做是移位寄存器,重要的是对其的处理,使用的是移位寄存器的思路 (2)注意新移入数据存放在低位 1 题目 + 代码 + TestBench 很简单,没…...

如何绕开运营商的 QoS 限制

运营商针对 UDP 进行限制&#xff0c;这是 QUIC 以及类似 UDP-Based 协议的推广阻力之一&#xff0c;上了线很多问题&#xff0c;丢包&#xff0c;慢等的问题严重增加运维&#xff0c;运营成本。 按照运营商五元组 QoS 这种简单粗暴不惹事的原则&#xff0c;只要换一个端口就可…...

C#基础教程22 异常处理

文章目录 C# 异常处理语法C# 中的异常类异常类 描述异常处理创建用户自定义异常C# 异常处理 异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供了一种把程序控制权从某个部分转移到另一个部分的方式。C# 异常处理…...

java八股文--java基础

java基础1.什么是面向对象&#xff0c;谈谈对面向对象的理解2.JDK JRE JVM的区别与联系3.和equals4.hashCode与equals5.String StringBuffer StringBuilder的区别6.重载和重写的区别7.接口和抽象类8.List和Set的区别9.ArrayList和LinkedList10.HashMap和HashTable的区别&#x…...

2022年全国职业院校技能大赛(中职组)网络安全竞赛试题A模块第四套解析(详细)

2022年全国职业院校技能大赛(中职组) 网络安全竞赛试题 (4) (总分100分) 赛题说明 一、竞赛项目简介 “网络安全”竞赛共分A.基础设施设置与安全加固;B.网络安全事件响应、数字取证调查和应用安全;C.CTF夺旗-攻击;D.CTF夺旗-防御等四个模块。根据比赛实际情况,竞…...

【Spark】spark使用jdbc连接带有kerberos认证的hive jdbc

背景 这个需求就是spark不通过spark-hive的方式访问hive数据&#xff0c;而是通过spark读取hive jdbc的方式访问hive数据&#xff0c;因为这个hive有kerberos认证&#xff0c;在网上也不是很容易搜索到这样的操作案例。不多bb&#xff0c;直接上教程。 准备工作 准备一个hiv…...

【Maven】项目中pom.xml坐标定义以及pom基本配置

目录 一、pom.xml坐标定义 二、pom 基本配置 一、pom.xml坐标定义 在 pom.xml 中定义坐标&#xff0c;内容包括&#xff1a;groupId、artifactId、version&#xff0c;详细内容如下&#xff1a; <!--项目名称&#xff0c;定义为组织名项目名&#xff0c;类似包名-->&l…...

Linux GCC 编译详解

文章目录一、GCC 编译器简介二、GCC 工作流编程语言的发展GCC 工作流程gcc 和 g 的区别三、使用 GCC 编译GCC 编译格式GCC 编译流程多个源文件编译一、GCC 编译器简介 首先&#xff0c;什么是编译器呢&#xff1f; 我们可以使用编辑器&#xff08;如 linux 下的 vi、windows 下…...

谁说程序员不懂了浪费,女神节安排

Python的PyQt框架的使用一、前言二、女神节文案三、浪漫的代码四、官宣文案一、前言 个人主页: ζ小菜鸡大家好&#xff0c;我是ζ小菜鸡&#xff0c;特在这个特殊的日子献上此文&#xff0c;希望小伙伴们能讨自己的女神欢心。 二、女神节文案 1.生活一半是柴米油盐&#xff0c…...

上市公司管理层短视指标(2007-2020)

1、数据说明&#xff1a;将研发⽀出的减少量&#xff08;∆R&D&#xff09;作为管理层短视⾏为的度量指标&#xff0c;即∆R&D为公司t年的研发⽀出减去t-1年的研发⽀出并除以t-1年末的总资产再乘以100。2、数据来源&#xff1a;自主整理3、时间跨度&#xff1a;2007-20…...

IDDPM 和 DDIM 对比

IDDPM 和 DDPM 对比IDDPMDDIMIDDPM IDDPM&#xff1a;Improved Denoising diffusion probabilistic models learning Σθ\Sigma_{\theta}Σθ​&#xff0c; 即Σθ(xt,t)exp⁡(vlog⁡βt(1−v)log⁡β~t)\Sigma_{\theta}\left(x_{t}, t\right)\exp \left(v \log \beta_{t}(1…...

链表OJ题(上)

✅每日一练&#xff1a;876. 链表的中间结点 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 定义快慢指针&#xff0c;让快指针走2步&#xff0c;慢指针走1步&#xff0c;当fast或者fast.next为空时&#xff0c;走完链表&#xff0c;此时slow就是中间位置 pub…...

【题解】百度2021校招Web前端工程师笔试卷(第一批):单选题、多选题

题目来源&#xff1a;牛客网公司真题_免费模拟题库_企业面试|笔试真题 (nowcoder.com) 若有错误请指正&#xff01; 单选题 1 某主机的 IP 地址为 212.212.77.55&#xff0c;子网掩码为 255.255.252.0。若该主机向其所在子网发送广播分组&#xff0c;则目的地址可以是&…...

论文解读:SuperPoint: Self-Supervised Interest Point Detection and Description

发表时间: 2018年 项目地址&#xff1a;https://arxiv.org/abs/1712.07629 论文地址&#xff1a;https://github.com/magicleap/SuperPointPretrainedNetwork 本文提出了一种用于训练计算机视觉中大量多视点几何问题的兴趣点检测器和描述符的自监督框架。与patch-based的神经网…...

游戏玩的多,陪玩你了解的多吗?用Python来采集陪玩数据,看看行情和美照

前言 (&#xff61;&#xff65;∀&#xff65;)&#xff89;&#xff9e;嗨 大家好 现在应该每个人都玩过游戏吧&#xff0c;有些的上瘾&#xff0c;天天玩停不下来&#xff0c;有些的倒是没啥感觉 有游戏就肯定有陪玩啊&#xff0c;毕竟当朋友忙的时候&#xff0c;自己一个…...

React框架创建项目详细流程-项目的基本配置-项目的代码规范

文章目录React创建项目流程与规范项目规范项目配置目录结构样式重置Router配置Redux状态管理axios配置React创建项目流程与规范 项目规范 项目规范: 在项目中都会有一些开发规范和代码风格, 下面介绍一下我采用的规范与风格 文件夹、文件名称统一小写、多个单词以连接符(-)连…...

深度解析开源工具如何实现游戏性能优化:Genshin FPS Unlocker专业实战指南

深度解析开源工具如何实现游戏性能优化&#xff1a;Genshin FPS Unlocker专业实战指南 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock Genshin FPS Unlocker 是一款专注于游戏性能优化的…...

TranslucentTB:打造高效个性化Windows任务栏的3大核心价值与实践指南

TranslucentTB&#xff1a;打造高效个性化Windows任务栏的3大核心价值与实践指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Windows…...

5步搞定OpenClaw+Qwen3-32B:RTX4090D镜像一键接入实战

5步搞定OpenClawQwen3-32B&#xff1a;RTX4090D镜像一键接入实战 1. 为什么选择云端沙盒方案 当我第一次听说OpenClaw这个开源自动化框架时&#xff0c;内心既兴奋又忐忑。作为一个喜欢折腾新技术的开发者&#xff0c;我迫不及待想尝试这个能像人类一样操作电脑的AI助手。但看…...

如何在普通PC上低成本部署Qwen3?VLLM轻量化配置指南

如何在普通PC上低成本部署Qwen3&#xff1f;VLLM轻量化配置指南 对于大多数个人开发者和小型团队来说&#xff0c;高性能服务器和顶级显卡往往是可望而不可及的奢侈品。但别担心&#xff0c;即使你只有一台普通PC&#xff0c;也能通过合理的配置和优化手段成功部署Qwen3这样的大…...

如何实现DPlayer弹幕实时翻译功能:打破语言障碍的终极指南

如何实现DPlayer弹幕实时翻译功能&#xff1a;打破语言障碍的终极指南 【免费下载链接】DPlayer :lollipop: Wow, such a lovely HTML5 danmaku video player 项目地址: https://gitcode.com/gh_mirrors/dpl/DPlayer DPlayer是一款优秀的HTML5弹幕视频播放器&#xff0c…...

【2026年阿里巴巴春招- 3月25日-算法岗-第二题- 该博弈了】(题目+思路+JavaC++Python解析+在线测试)

题目内容 有一个 nmnmnm 的棋盘,记第 iii<...

想在职场走得远,必须戒掉弱者心态

想在职场走得远&#xff0c;必须戒掉弱者心态前言抱怨者心态&#xff1a;错永远在外部依赖者心态&#xff1a;永远在被动等待逃避者心态&#xff1a;用无视应对问题如何建立强者心态许多人在职场受挫&#xff0c;习惯性地指责环境、指责他人&#xff0c;唯独不愿审视自身。他们…...

工业相机图像采集处理:从 RAW 数据到 AI 可读图像,附basler相机 C#实战代码

工业相机图像采集处理&#xff1a;从 RAW 数据到 AI 可读图像&#xff0c;附basler相机 C#实战代码前言&#xff1a; 做工业视觉的兄弟们都遇到过这种场景&#xff1a; 用 Basler Pylon SDK 自带的 Converter 转图&#xff0c;代码是简洁了&#xff0c;但一上高帧率&#xff08…...

百川2-13B模型中文OCR增强:OpenClaw图片信息提取优化

百川2-13B模型中文OCR增强&#xff1a;OpenClaw图片信息提取优化 1. 为什么需要OCR增强的智能体 上个月在处理一份电子合同时&#xff0c;我遇到了一个典型问题&#xff1a;合同是扫描件图片格式&#xff0c;我需要从中提取关键条款、金额和日期等信息。手动录入不仅耗时&…...

26地学考研复试线汇总(华东师范大学/南京师范大学/南京信息工程大学/中国海洋大学/兰州大学)

今天开始更新一波26地理学考研复试分数线&#xff0c;计划考研的同学可以关注&#x1f447;华东师范大学华东师范大学26复试线公布&#xff01;地理学统一划线&#xff01; 地理科学学院&#xff1a;地理学统一划线325分&#xff0c;相比去年总体上涨&#xff1b;测绘工程333分…...