什么是服务的雪崩、熔断、降级的解释以及Hystrix和Sentinel服务熔断器的解释、比较
1.什么是服务雪崩?
定义:在微服务中,假如一个或者多个服务出现故障,如果这时候,依赖的服务还在不断发起请求,或者重试,那么这些请求的压力会不断在下游堆积,导致下游服务的负载急剧增加。不断累计之下,可能会导致故障的进一步加剧,可能会导致级联式的失败,甚至导致整个系统崩溃,这就叫服务雪崩。
为防止服务雪崩,采取措施
- 服务高可用部署:确保各个服务都具备高可用性,通过冗余部署、故障转移等方式来减少单点故障的影响。
- 限流和熔断:对服务之间的请求进行限流和熔断,以防止过多的请求涌入导致后端服务不可用。
- 缓存和降级:合理使用缓存来减轻后端服务的负载压力,并在必要时进行服务降级,保证核心功能的可用性
2.什么是服务熔断(Circuit Breaker)?
服务熔断是微服务架构中的容错机制,用于保护系统免受服务故障或异常的影响。当某个服务出现故障或异常时,服务熔断可以快速隔离该服务,确保系统稳定可用。
它通过监控服务的调用情况,当错误率或响应时间超过阈值时,触发熔断机制,后续请求将返回默认值或错误信息,避免资源浪费和系统崩溃。
服务熔断还支持自动恢复,重新尝试对故障服务的请求,确保服务恢复正常后继续使用。
3.什么是服务降级(Falback)?
服务降级是也是一种微服务架构中的容错机制,用于在系统资源紧张或服务故障时保证核心功能的可用性。
当系统出现异常情况时,服务降级会主动屏蔽一些非核心或可选的功能,而只提供最基本的功能,以确保系统的稳定运行。通过减少对资源的依赖,服务降级可以保证系统的可用性和性能。
它可以根据业务需求和系统状况来制定策略,例如替换耗时操作、返回默认响应、返回静态错误页面等。
4.有哪些服务熔断降级方案实现?
5.Sentinel是什么?它是如何工作的?
Sentinel是阿里巴巴开源的一款分布式服务架构的轻量级流量控制产品,它主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助您保护服务的稳定性
Sentiel 的基本概念包括资源、规则和处理器。资源是 Sentine!的关键概念,可以是 ava,应用程序中的任何内容,例如由应用程序提供的服务,或由应用程序调用的其它应用提供的服务,甚至可以是一段代码。规则是围绕资源的实时状态设定的,可以包括流量控制规则、熔断降级规则以及系统保护规则,所有规则可以动态实时调整。
主要功能:
- 流量控制:Sentinel 可以控制每个服务或接口的并发请求数量,避免因为并发请求过多导致服务崩溃
- 熔断降级:当某个服务或接口不可用时,Sentinel 可以自动触发熔断机制,避免因单个服务或接口故障导致整个系统的瘫痪。
- 系统负载保护:Sentinel通过控制系统的整体负载,避免因系统过载导致服务性能下降甚至崩溃。
工作原理:
- 数据采集:Sentinel通过代理模式将流量数据采集到自身,并进行数据清洗和整合
- 策略计算:根据预先设定的规则和算法,Sentinel 计算并判断是否需要控制流量、熔断降级或保护系统负载。
- 结果执行:根据计算结果,Sentinel 对流量进行控制、熔断降级或保护系统负载等操作,以保障服务的稳定性。
6.Hystrix与Sentinel的区别
Hystrix和Sentinel都是服务熔断器,用于提高分布式系统的弹性。它们的主要区别在于实现方式、适用场景和资源模型设计
Hystrix基于命令模式设计,将外部资源的调用封装在命令对象中,通过线程池或信号量来实现隔离。它提供了丰富的配置选项,如线程池大小、超时时间等,以实现对系统资源的有力控制。Hystrix更适用于需要高并发、快速响应的场景,因为它可以快速隔离和恢复故障。
Sentinel则基于流量控制和熔断峰级的思想,可以与Spring Cloud、qRPC、Dubbo等框架集成,它通过定义资源规则和应用策略来实现对系统资源的控制,Sentinel更适用于需要流量控制和熔断降级的场景,它可以根据系统负载和响应时间来实现自动熔断和降级操作。
总之,Hystix和sentine,都是服务熔断器,用于提高系统的弹性。它们在实现方式、适用场景和资源模型设计等方面存在一些不同。具体选择哪个工具取决于系统的具体需求和场景。
7.Hystrix怎么实现服务容错
尽管已经不再更新,但是Hystrix是非常经典的服务容错开源库,它提供了多种机制来保护系统:
(1)服务熔断(Circuit Breaker)
Hystrix通过设置阈值来监控服务的错误率或响应时间。当错误率或响应时间超过预设的阈值时,熔断器将会打开,后续的请求将不再发送到实际的服务提供方,而是返回预设的默认值或错误信息。这样可以快速隔离故障服务,防止故障扩散,提高系统的稳定性和可用性。
服务熔断原理:
状态机有三种状态:
(a)Closed:关闭状态(断路器关闭)
所有请求都正常访问
(b)Open:打开状态(断路器打开)
所有请求都会被降级。Hystix会对请求情况计数,当一定时间内失败请求百分比达到阈值,则触发熔断,断路器会完全关闭。默认失败比例的阈值是50%。请求次数最少不低于20次
(c)Half Open:半开状态
open状态不是永久的,打开后会进入休眠时间(默认是5秒)。岁后断路器会自动进入半开状态。此时会释放1次请求通过,若这个请求是健康的,则会关闭断路器,否则继续保持打开,每次进行5秒休眠计时。
(2)服务降级(Falback)
代码示例:
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;/**
* 服务降级示例
**/
@Service
public class MyService {@HystrixCommand(fallbackMethod = "fallbackMethod")public String myServiceMethod() {// 实际的服务调用逻辑// ...}public String fallbackMethod() {// 降级方法的逻辑,当服务调用失败时会执行此方法// 可以返回默认值或执行其他备用逻辑// ...}
}
服务降级原理(进阶)
Hystrix为每个服务分配了小的线程池,当客户发送请求过来,会通过线程池创建线程来执行任务,当创建的线程池已满或者请求超时(这里和多线程线程池不一样,不存在任务队列),则启动服务降级功能
降级指的请求故障时,不会阻塞,会返回一个友好提示(自定义),也就是说不会影响其他服务的运行
(3)请求缓存(Request Caching)
Hystrix可以缓存对同一请求的响应结果,当下次请求相同的数据时,直接从缓存中获取,避免重复的网络请求,提高系统的性能和响应速度。
(4)请求合并(Request Collapsing)
Hystrix可 以将多个并发的请求合并为一个批量请求,减少网络开销和资源占用。这对于一些高并发的场景可以有效地减少请求次数,提高系统的性能。
(5)实时监控和度量(Real-time Monitoring and Metrics)
Hystrix提供了实时监控和度量功能,可以对服务的执行情况进行监控和统计,包括错误率、响应时间、并发量等指标。通过监控数据,可以及时发现和解决服务故障或性能问题。
(6)线程池隔离(Thread Poollsolation)
Hvstrix将每个依赖服务的请求都放在独立的线程池中执行,避免因某个服务的故障导致整个系统的线程资源耗尽。通过线程池隔离,可以提高系统的稳定性和可用性。
8.Sentinel怎么实现限流的?
8.1.Sentinel通过动态管理限流规则,根据定义的规则对请求进行限流控制,具体实现步骤:
(1)定义资源:在Sentinel中,资源可以是URL、方法等,用于标识需要进行限流的请求。
代码示例:
// 原本的业务方法.
@SentinelResource(blockHandler = "blockHandlerForGetUser")
public User getUserById(String id) {throw new RuntimeException("getUserById command failed");
}// blockHandler 函数,原方法调用被限流/降级/系统保护的时候调用
public User blockHandlerForGetUser(String id, BlockException ex) {return new User("admin");
}
(2)配置限流规则:在Sentinel的配置文件中定义资源的限流规则。规则可以包括资源名称,限流阈值,限流模式(令牌桶或漏桶)等
代码示例:
private static void initFlowQpsRule() {List<FlowRule> rules = new ArrayList<>(); FlowRule rule1 = new FlowRule(); // 创建一个流控规则rule1.setResource(resource); // 设置要限流的资源名称rule1.setCount(20); // 设置最大 QPS 为 20rule1.setGrade(RuleConstant.FLOW_GRADE_QPS); // 设置限流的维度为 QPSrule1.setLimitApp("default"); // 设置限制的应用名称为 "default"rules.add(rule1); // 将规则添加到规则列表中FlowRuleManager.loadRules(rules); // 加载规则列表,使限流规则生效
}
(3)监控流量:Sentinel会监控每个资源的流量情况,包括请求的QPS(每秒请求树),线程数,响应时间等。
(4)限流控制:当请求到达时,Sentinel会根据资源的限流规则判断是否需要进行限流控制。如果 请求超过了限流阈值,则可以进行限制,拒绝或进行其他降级处理
8.2.Sentinel采用什么限流算法?
Sentinel使用滑动窗口限流算法来实现限流
滑动窗口限流算法是一种基于时间窗口的限流算法。它将一段时间划分为多个时间窗口,并在每个时间窗口内统计请求的数量。通过动态地调整时间窗口的大小和滑动步长,可以更精确地控制请求的通过速率
8.3.Sentinel怎么实现集群限流?
Sentinel利用了Token Server和Token Client的机制来实现集群限流
开启集群限流后,Client向Token Server发送请求,Token Server根据配置的规则决定是否限流。
9.如果 Sentinel 的异常处理规则不满足需求,应该怎么办?
如果 Sentinel 的默认异常处理机制无法满足您的需求,您可以选择自定义异常处理规则。Sentinel允许您通过自定义实现, BlockedExceptionHandler 接口,然后将自定义的异常处理器对象交给 Spring 容器进行管理,您可以根据实际业务需求,定制化异常处理策略,例如全局兜底处理、日志打印、空指针检查等。同时,您还可以在处理器中加入自定义的业务逻辑,例如对异常进行分类、统计和反馈等。这样,您可以根据具体的应用场景和业务需求,灵活地扩展 Sentinel的异常处理能力。
10.思维导图:
11.关联文章
如此等等的资料我都已经整理到了思维导图中,本篇属于SpringCloud篇,有需要的可以去看一下,喜欢的就留个三连再走吧~
SpringCloud:https://blog.csdn.net/TLOVEYOUTOO/article/details/145532603?spm=1001.2014.3001.5502
Spring全家桶:
https://blog.csdn.net/TLOVEYOUTOO/article/details/145532922?spm=1001.2014.3001.5502
相关文章:
什么是服务的雪崩、熔断、降级的解释以及Hystrix和Sentinel服务熔断器的解释、比较
1.什么是服务雪崩? 定义:在微服务中,假如一个或者多个服务出现故障,如果这时候,依赖的服务还在不断发起请求,或者重试,那么这些请求的压力会不断在下游堆积,导致下游服务的负载急剧…...
从驾驶员到智能驾驶:汽车智能化进程中的控制与仿真技术
在汽车技术持续演进的历程中,人类驾驶员始终是一个极具研究价值的智能控制系统“原型”。驾驶员通过视觉感知、行为决策与操作执行的闭环控制,将复杂的驾驶任务转化为车辆的实际动作,同时动态适应道路环境的变化。这一过程不仅体现了高度的自…...
mysql和minio
在现代应用架构中,Word 文档、PPT 等文件通常存储在对象存储服务(如 MinIO)中,而不是直接存储在关系型数据库(如 MySQL)中。以下是具体的分工和原因: 为什么选择对象存储(如 MinIO&a…...
java练习(24)
PS:练习来自力扣 合并两个有序数组 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。 注意&am…...
Android的Activity生命周期知识点总结,详情
一. Activity生命周期 1.1 返回栈知识点 二. Activity状态 2.1 启动状态 2.2 运行状态 2.3 暂停状态 2.4 停止状态 2.5 销毁状态 三. Activity生存期 3.1 回调方法 3.2 生存期 四. 体验Activity的生命周期 五. Activity被回收办法 引言: 掌握Acti…...
STM32——HAL库开发笔记19(串口中断接收实验)(参考来源:b站铁头山羊)
本实验,我们以中断的方式使得串口发送数据控制LED的闪烁速度,发送1,慢闪;发送2,速度正常;发送3,快闪。 一、电路连接图 二、实现思路&CubeMx配置 1、实现控制LED的闪烁速度 uint32_t bli…...
基于腾讯云TI-ONE 训练平台快速部署和体验 DeepSeek 系列模型
引言 在前两篇文章中,我们通过腾讯云的HAI部署了DeepSeek-R1,并基于此进行了一系列实践。 腾讯云HAI DeepSeek 腾讯云AI代码助手 :零门槛打造AI代码审计环境 基于腾讯云HAI DeepSeek 快速开发中医辅助问诊系统 这些尝试不仅帮助我们理解…...
python的类装饰器
装饰器不仅可以用于函数,还能作用于类。将装饰器应用于类时,其核心原理与作用于函数类似,都是通过接收一个类作为输入,然后返回一个新的类或者修改后的原类,以此来为类添加额外的功能 简单的类装饰器 def add_method…...
C++17中的LegacyContiguousIterator(连续迭代器)
文章目录 特点内存连续性与指针的兼容性更高的性能 适用场景与C接口交互高性能计算 支持连续迭代器的容器示例代码性能优势缓存局部性指针算术优化 注意事项总结 在C17标准里,LegacyContiguousIterator(连续迭代器)是一类特殊的迭代器。它不仅…...
Linux-文件IO
1.open函数 【1】基本概念和使用 #include <fcntl.h> int open(const char *pathname,int flags); int open(const char *pathname,int flags,mode_t mode); 功能: 打开或创建文件 参数: pathname //打开的文件名 f…...
DeepSeek-R1 + Cherry Studio 本地部署打造个人 AI 知识库
ChatGPT 爆火的时候,我心里就燃起了一个想法:打造一个专属于自己的AI知识库,它就像我的第二大脑一样,能记住我生活里的点点滴滴。 我随口一问“去年5月我做了什么”,它不仅能精准找到记录,还能帮我回忆起那…...
《红色警戒:兵临城下》 游戏软件安装步骤与百度网盘链接
软件简介: 《红色警戒:兵临城下》(Command & Conquer: Red Alert)是一款经典的即时战略游戏,由Westwood Studios开发,于1996年首次发行。它是《命令与征服》系列的衍生作品,以其独特的世界…...
25/2/16 <算法笔记> DirectPose
DirectPose 是一种直接从图像中预测物体的 6DoF(位姿:6 Degrees of Freedom)姿态 的方法,包括平移和平面旋转。它在目标检测、机器人视觉、增强现实(AR)和自动驾驶等领域中具有广泛应用。相比于传统的位姿估…...
第32周:文献阅读
目录 摘要 Abstract 文献阅读 问题引入 研究问题 研究意义 研究方法 集成方法 随机森林(RF) 支持向量机(SVM) 简单循环神经网络(SimpleRNN) 长短期记忆网络(LSTM) 创…...
Ollama 开发指南
文章来源:开发指南 - Ollama中文文档|Ollama官方文档 安装先决条件: GOC/C 编译器,例如 macOS 上的 Clang、TDM-GCC (Windows amd64) 或 llvm-mingw (Windows arm64)、Linux 上的 GCC/Clang。…...
【deepseek与chatGPT辩论】辩论题: “人工智能是否应当具备自主决策能力?”
探讨辩论题 这个提案涉及创建一个精确的辩论题目,旨在测试deepseek的应答能力。 创建辩论题目 提议设计一个辩论题目以测试deepseek的应答能力。希望这个题目具有挑战性并能够测量其回应质量。 好的,来一道适合深度学习的辩论题: 辩论题&…...
神经网络常见激活函数 9-CELU函数
文章目录 CELU函数导函数函数和导函数图像优缺点pytorch中的CELU函数tensorflow 中的CELU函数 CELU 连续可微指数线性单元:CELU(Continuously Differentiable Exponential Linear Unit),是一种连续可导的激活函数,结合了 ELU 和 …...
JavaScript系列(74)--反射API详解
JavaScript反射API详解 🔍 JavaScript的反射API提供了强大的运行时检查和操作对象的能力。本文将深入探讨Reflect API的原理、应用场景和最佳实践。 反射基础 🌟 💡 小知识:反射是指程序在运行时能够检查、修改自身结构和行为的…...
轻量级分组加密算法RECTANGLE
轻量级分组加密算法RECTANGLE RECTANGLE轻量级分组密码算法是Wentao Zhang,Zhenzhen Bao,Dongdai Lin等学者于2014年提出的,该算法是SPN结构的,采用了线性移位的置换层以及44bit的S盒。RECTANGLE是一个迭代分组密码,分组长度为64…...
智能设备监控:AI 与 Python 助力设备管理的未来
智能设备监控:AI 与 Python 助力设备管理的未来 引言 随着物联网(IoT)和智能设备的广泛应用,我们的日常生活逐渐离不开这些高科技产品。从智能家居到工业控制,智能设备已经渗透到各个领域。然而,随着设备种类和数量的增加,如何高效地监控这些设备,确保它们的稳定性和…...
python语言进阶之函数
目录 前言 函数的创建和调用 函数创建 调用函数 参数传递 形式参数和实际参数 位置参数 数量必须与定义时一致 位置必须与定义时一致 关键字参数 为参数设置默认值 可变参数 **parameter 返回值 变量的作用域 局部变量 全局变量 匿名函数 前言 提到函数&…...
Golang Model 字段自动化校验设计
背景 在我们日常开发中,不可避免的总要去进行各种参数校验,但是如果在某个场景中,要校验的字段非常多,并且在其中还有耦合关系,那么我们手写校验逻辑就变得非常的低效且难以维护。本篇文档就基于 DDD 领域模型设计的思…...
Hot100 堆
215. 数组中的第K个最大元素 - 力扣(LeetCode) 堆排序 我们可以借助一个小顶堆来维护当前堆内元素的最小值,同时保证堆的大小为 k: 遍历数组将元素入堆; 如果当前堆内元素超过 k 了,我们就把堆顶元素去除…...
AIGC图生视频保姆级教程
一、AI文生图高阶技巧 推荐工具 ▸ MidJourney(艺术感最强) ▸ DALLE 3(与ChatGPT深度联动) ▸ Leonardo.ai(精细化参数控制) 核心策略 提示词架构: [主体描述][环境氛围][镜头语言][风格参数…...
Qt QDateTimeEdit总结
1. 概述 QDateTimeEdit 是 Qt 提供的用于编辑日期和时间的控件,支持直接输入或通过弹出日历/时间选择器调整值。继承自 QAbstractSpinBox,是 QDateEdit 和 QTimeEdit 的父类,可同时处理日期和时间。默认显示格式为系统本地化的日期时间格式&…...
【吾爱出品】 视频批量分段工具
视频批量分段工具 链接:https://pan.xunlei.com/s/VOJDvtHQE7GOiJ84WNea5Ay1A1?pwd5nta# 选择视频文件 启动程序后,点击 "文件" 菜单下的 "选择视频文件" 按钮,或者直接将视频文件拖放到程序窗口中的视频列表区域。支…...
SHEIN的迁移与无奈
日前,因杭州宇树科技、DeepSeek的“六小龙”企业崛起,不少地方开始反思,为什么本地没有留住创始人,或者发展出类似的企业。例如DeepSeek创始人梁文锋和Kimi创始人杨植麟都是广东人,但都在其他地区创业成功。而还有媒体…...
TCP/UDP 简介,三次握手与四次挥手
一、TCP 三次握手 目的:为了解决在不可靠的信道上建立可靠的网络连接 三次握手是连接请求的过程: A 发送连接请求的数据给 B(发送 SYN 包) B 同意连接,返回数据给 A(返回 SYNACK 包) A 收到后回…...
Windows Defender Control--禁用Windows安全中心
Windows Defender Control--禁用Windows安全中心 链接:https://pan.xunlei.com/s/VOJDuy2ZEqswU4sEgf12JthZA1?pwdtre6#...
数据仓库与数据湖的协同工作:智慧数据管理的双引擎
数据仓库与数据湖的协同工作:智慧数据管理的双引擎 引言 在数据驱动的今天,企业和组织收集和存储的数据量正以惊人的速度增长。如何高效管理和利用这些数据,成为了决策者和技术专家的共同难题。为了解决这一问题,数据仓库(Data Warehouse)和数据湖(Data Lake)这两种技…...
50. c++多维数组
在‘19 数组’中描述了原生数组的本质和其索引的原理,一维数组是连续的一个内存块,本质就是指针,指向这个内存块的起始位置,索引的原理就是对该指针的操作。通常对数组的操作一种策略就是使用指针,二维数组可以说是数组…...
用大模型学大模型05-线性回归
deepseek.com:多元线性回归的目标函数,损失函数,梯度下降 标量和矩阵形式的数学推导,pytorch真实能跑的代码案例以及模型,数据,预测结果的可视化展示, 模型应用场景和优缺点,及如何改进解决及改进方法数据推…...
苹果CMS站群插件的自动生成功能:提升网站流量的秘诀
引言 在数字营销的浪潮中,站群技术因其强大的流量引导能力而备受青睐。苹果CMS作为一款优秀的内容管理系统,凭借其灵活性和可扩展性,成为了站群管理的理想选择。本文将详细介绍苹果CMS站群插件的自动生成功能,探讨如何通过这一功…...
大语言模型中one-hot编码和embedding之间的区别?
1. 维度与稀疏性 One-Hot编码 定义:每个词被表示为一个高维稀疏向量,维度等于词汇表大小。例如,词汇表有10,000个词,每个词对应一个10,000维的向量,其中仅有一个位置为1(表示当前词)࿰…...
【Bluedroid】 BLE连接源码分析(一)
BLE链接过程分析见【Bluedroid】BLE连接过程详解-CSDN博客,本篇主要围绕HCI_LE_Create_Connection展开。基于Android14源码进行分析。在蓝牙低功耗技术中,设备之间建立连接是进行数据传输等操作的前提。HCI LE Extended Create Connection Command 提供了一种更灵活、功能更丰…...
【C语言】移除元素
移除元素 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后…...
SQL与数据库程序设计
1.1986年,10月美国国家标准局颁布了SQL语言的美国标准,称为SQL86 2.SQL(Structured Query Language)又称为结构化查询语言 3.建立索引的主要目的是加快查找的速度 4.在基本表上建立一个或者多个索引 5. 一个基本表是最多只能建立一个聚簇索引 6.CAL…...
基于Java企业项目管理系统设计与实现(LW+源码+讲解)
专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…...
Blazor-设置组件焦点
在Razor中设置焦点我们需要用到ElementReference类型的变量,使用ref指令引用到设置焦点HTML的元素。 在Blazor中,ElementReference类型的作用是提供对HTML DOM元素的引用,以便在C#代码中通过JavaScript互操作(JS Interopÿ…...
信用违约掉期(Credit Default Swap, CDS):金融市场的“保险”还是“定时炸弹”?(中英双语)
信用违约掉期(CDS):金融市场的“保险”还是“定时炸弹”? 引言 信用违约掉期(Credit Default Swap, CDS) 是金融市场中一种重要的衍生品,它最初被设计为债务违约的保险工具,但在实…...
Deepseek R1模型本地化部署与API实战指南:释放企业级AI生产力
摘要 本文深入解析Deepseek R1开源大模型的本地化部署流程与API集成方案,涵盖从硬件选型、Docker环境搭建到模型微调及RESTful接口封装的完整企业级解决方案。通过电商评论分析和智能客服搭建等案例,展示如何将前沿AI技术转化为实际生产力。教程支持Lin…...
核货宝多语言订货系统:打破语言障碍,拓展全球市场
在经济全球化的大背景下,企业的业务版图不断向全球扩张,国际贸易活动日益频繁。对于众多从事跨境贸易、跨国批发零售以及拥有广泛海外客户群体的企业而言,一款能够跨越语言障碍的多语言订货系统,已成为其在全球市场竞争中脱颖而出…...
【prompt示例】智能客服+智能质检业务模版
本文原创作者:姚瑞南 AI-agent 大模型运营专家,先后任职于美团、猎聘等中大厂AI训练专家和智能运营专家岗;多年人工智能行业智能产品运营及大模型落地经验,拥有AI外呼方向国家专利与PMP项目管理证书。(转载需经授权&am…...
在linux系统中安装Anaconda,并使用conda
系统 : ubuntu20.04 显卡:NVIDIA GTX1650 目录 安装Anaconda第一步:下载合适版本的Anconda1. 查看自己Linux的操作系统及架构命令:uname -a2. 下载合适版本的Anconda 第二步:安装Aanconda1. 为.sh文件设置权限2. 执行.sh文件2.1 .…...
基于 openEuler 构建 LVS-DR 群集
1、环境准备 准备好下面四台台服务器: 主机名IP角色openEuler-1192.168.121.11Director ServeropenEuler-2192.168.121.12Real Server1openEuler-3192.168.121.13Real Server2Rocky8192.168.121.51Client 2、Web服务器配置 在两台RS上安装并配置nginx服务&#…...
委托构造函数与继承构造函数
委托构造函数 允许同一类中的构造函数调用另一个构造函数,以复用初始化逻辑。 委托构造函数不能同时初始化成员变量,只能委托给其他构造函数。 避免循环委托(如构造函数A委托给B,B又委托给A)。 class MyClass { pu…...
EPLAN 自定义图框
一 , 还是先打开系统自带的图框,作为参考 二, 自定义图框 1. 新建图框 2. 绘制。下图描述有误,直接将系统默认图框文件复制,然后重命名,在这个基础上来进行编辑。 三, 使用 1. 更改默认图框 2…...
c++ gcc工具链
GCC(GNU Compiler Collection)是一套广泛使用的开源编译工具链,支持多种编程语言(如 C、C、Objective-C、Fortran 等),主要用于 Linux 和嵌入式开发环境。 组成 GCC 工具链主要由以下几个核心工具组成&am…...
基于51单片机的的鸡笼补光和恒温系统的设计与实现(源程序+Protues仿真+电路图+元件清单+器件手册)
编号:71 基于51单片机的的鸡笼补光和恒温系统的设计与实现 功能描述: 本设计由89C52单片机液晶12864显示模块声光报警电路温湿度传感器电路风扇电路LED照明电路光照检测电路GSM电路DS1302时钟电路 1.实现的功能 (1)采用DHT11温湿传感器、光敏电阻捕捉…...
es-head 正则查询和标准正则查询的差异
在es-head里面查询,需要查询字符串是一个json串,因此就要符合json串的格式,在es-head里面可以通过regexp做正则查询,而这里的正则表达式其实是写成字符串的形式的,因此就要面对字符串转义的问题,比如你想匹…...