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

详解负载均衡

什么是负载均衡?

想象一下,你有一家餐厅,当有很多客人同时到来时,如果只有一名服务员接待,可能会导致服务变慢。为了解决这个问题,你可以增加更多的服务员来分担工作,这样每位服务员就可以更快地为客人提供服务。这就是负载均衡的基本概念:通过将任务分配给多个服务器(或“服务员”),可以提高效率和服务质量。

在这里插入图片描述

四层负载均衡

四层负载均衡(L4)
  • 工作层次:四层负载均衡器工作在网络传输层(TCP/UDP),即OSI模型的第四层。
  • 基于连接信息:它根据IP地址和端口号等传输层信息来分发流量,通常不检查应用层数据。
  • 性能较高:因为只需要处理较少的信息,所以通常具有更高的吞吐量和更低的延迟。
  • 简单配置:配置相对简单,主要关注于基本的流量分发策略,如轮询、最少连接数等。
  • 适用场景:适合对性能要求较高的服务,比如数据库连接或需要快速响应的应用。

四层负载均衡工作在网络的第四层——传输层,它根据IP地址和端口号等信息决定如何转发数据包。这种方式的优点是处理速度快,因为它不需要理解应用层的数据内容。缺点是对应用层的内容没有感知能力,因此不能做更复杂的路由决策。

比喻成餐厅的场景:
  • 四层负载均衡就像一个站在餐厅门口的迎宾员,他只根据客人的外表特征(比如穿着、外貌)来决定哪个服务员去接待他们。他不会关心客人具体要吃什么或者有什么特殊需求。
技术上的解释:
  • 在网络世界中,四层负载均衡器就像是这个迎宾员,它只看数据包的基本信息(源IP、目的IP、端口号等),然后决定把这些请求发送到哪个服务器上。
  • 它不关心这些数据包里面装的是什么内容(例如网页请求、图片、视频等),也不需要解码这些内容,因此处理速度非常快。

七层负载均衡

七层负载均衡(L7)
  • 工作层次:七层负载均衡器工作在应用层,即OSI模型的第七层,这里是用户与系统交互的地方。
  • 基于内容路由:它可以理解并解析应用层协议(如HTTP、HTTPS),因此可以根据URL、Cookie、HTTP头等更复杂的规则来决定如何分发请求。
  • 功能丰富:支持更加精细的流量管理,例如会话保持、SSL终止、内容缓存、压缩、重写URL等功能。
  • 性能较低:由于需要分析更多的信息,处理开销较大,可能导致性能略低于四层负载均衡。
  • 安全性和灵活性:可以实施更严格的安全控制,如WAF(Web应用防火墙)特性,并且能够更好地适应现代Web应用程序的需求。
  • 适用场景:适用于Web应用、API网关等需要深入理解应用层协议的服务。

七层负载均衡工作在网络的第七层——应用层,能够解析HTTP、HTTPS等应用层协议的信息,比如URL、Cookie等,并据此做出更加智能的流量分配决策。虽然处理速度可能较慢,但提供了更大的灵活性和更多的功能选项,如会话保持、内容交换等。

比喻成餐厅的场景:
  • 七层负载均衡则更像是一个懂得菜单的迎宾员,他会问客人想要点什么菜,然后根据他们的选择推荐最适合的服务员或直接引导客人去最适合的餐桌。这使得服务更加个性化和高效。
技术上的解释:
  • 七层负载均衡器能够理解并解析应用层的数据,即它可以读取HTTP请求中的URL、头信息等内容,从而做出更智能的决策。
  • 它可以根据用户请求的具体内容(如访问特定页面、API调用等)来决定将流量导向哪个服务器,甚至可以在必要时对响应进行修改或优化(例如压缩图像、缓存常用资源等)。
  • 四层负载均衡更适合那些只需要快速转发请求的应用场景,而不需要过多考虑每个请求的具体内容。
  • 七层负载均衡则适用于需要更精细控制和处理的应用场景,因为它可以基于请求的内容来做更复杂的路由决策,并且支持更多高级特性。

什么是负载均衡器?

负载均衡器(Load Balancer)是一种硬件设备或软件服务,用于在多个计算资源(如服务器、网络链路等)之间分配工作负载。其主要目的是确保没有单一资源被过度使用,从而避免成为性能瓶颈,并且能够提高整体系统的可靠性、可用性和响应速度。

负载均衡器的主要功能
  1. 请求分发:将来自客户端的请求按照一定的算法(如轮询、最少连接数、权值等)分发给后端的服务器,以平衡各服务器的工作量。

  2. 健康检查:定期监控后端服务器的状态,自动移除故障或表现不佳的服务器,只将流量导向健康的服务器。

  3. 会话保持(Session Persistence):对于需要维持状态的应用程序,负载均衡器可以确保同一用户的请求总是被发送到同一台服务器上处理,保证会话的一致性。

  4. SSL终止:一些高级的负载均衡器可以在自身处解密HTTPS流量,减轻后端服务器的负担。

  5. 数据压缩与缓存:部分负载均衡器还提供内容压缩和缓存功能,减少传输的数据量并加速响应时间。

  6. 支持多种协议:不仅限于HTTP/HTTPS,还可以支持TCP、UDP等其他网络层协议。

  7. 高可用性:通过冗余设计,即使某个负载均衡器发生故障,另一个可以立即接管,确保服务不中断。

  8. DDoS防护:某些负载均衡解决方案集成了安全特性,比如抵御分布式拒绝服务攻击(DDoS)的能力。

实现方式
  • 硬件负载均衡器:通常是专用的物理设备,具备高性能和低延迟的特点,适用于大型企业级应用。

  • 软件负载均衡器:基于操作系统运行的应用程序,如Nginx、HAProxy、F5 BIG-IP等,灵活性更高,可以根据需求快速部署和调整配置。

选择合适的负载均衡器取决于具体的业务需求、预算和技术栈等因素。现代云计算环境中,云服务提供商通常也提供了易于集成的负载均衡服务,如阿里云的SLB(Server Load Balancer)、AWS的Elastic Load Balancing (ELB)等。

负载均衡器使用负载均衡算法来决定如何分配流量或请求到不同的服务器上。

负载均衡算法(动态与静态)

负载均衡器使用特定的算法来决定将请求发送到哪个服务器。这些算法可以分为静态和动态两大类:

静态负载均衡
  • 工作原理:静态负载均衡依赖于预定义的规则来分配请求或任务到服务器。这些规则在配置时已经确定,并且不会根据实际运行时的情况(如服务器性能、当前负载等)进行调整。

  • 实现机制

    • 使用简单的算法,如轮询(Round Robin)、最少连接数(Least Connections),按照固定的模式将请求分发给后端服务器。
    • 不需要实时监控服务器状态,因为分配策略是预先设定好的。
  • 轮询(Round Robin):这是最简单的一种负载均衡算法,所有请求按顺序轮流分配给不同的服务器。每个服务器依次接收一个请求,循环往复。

  • 权值轮询(Weighted Round Robin):基于普通轮询,但是为每台服务器设置了权重。权重较高的服务器将获得更多的请求,这样可以根据服务器的实际处理能力来分配请求,更高效地利用资源。

  • 最少连接(Least Connections):在静态环境下,选择当前连接数最少的服务器进行分配。这种算法假设所有请求的服务时间相同。

  • 优点

    • 实现简单,易于部署和维护。
    • 对资源消耗小,因为不需要额外的计算来决定如何分配负载。
  • 缺点

    • 缺乏灵活性,不能适应服务器性能变化或实时负载情况。
    • 可能导致某些服务器过载,而其他服务器闲置,从而降低了整体系统的效率和响应速度。
  • 适用场景:适合于那些服务器性能相近、负载相对稳定的应用环境,例如小型网站或内部服务。

动态负载均衡
  • 工作原理:动态负载均衡基于实时监测到的服务器健康状况、当前负载、响应时间等信息,动态地调整请求的分配策略。它能够智能地选择最合适的服务器来处理新的请求,以优化资源利用并提高用户体验。

  • 实现机制

    • 持续监控后端服务器的状态,包括CPU使用率、内存占用、活跃连接数等关键指标。
    • 根据收集的数据应用复杂的算法(如加权轮询、最少响应时间等)来决定哪个服务器最适合接收下一个请求。
    • 支持自动故障转移,即当检测到某台服务器不可用时,可以自动将流量重定向到其他健康的服务器上。
  • 动态权值轮询(Dynamic Weighted Round Robin):结合了权值轮询与动态评估服务器状态,根据服务器的实时负载情况动态调整权值,从而影响请求分配。

  • 最少响应时间(Least Response Time):不仅考虑了当前的连接数,还考虑了平均响应时间,选择预计响应时间最短的服务器。

  • 自适应负载感知(Adaptive Load Awareness):这类算法能根据历史数据预测未来负载,并提前做出调整,以达到最佳的资源利用。

  • 优点

    • 更加灵活,能够有效地应对突发流量或服务器故障。
    • 可以优化资源利用率,确保每个服务器都在其最佳状态下运行,提供更好的性能和服务质量。
  • 缺点

    • 实现复杂度较高,需要额外的机制来收集和分析服务器状态信息,增加了系统设计和运维的成本。
    • 相对于静态负载均衡来说,可能会有更高的延迟,因为需要时间来评估服务器的状态。
  • 适用场景:特别适用于具有高度变化的工作负载或需要高可用性和容错能力的应用环境,例如大型网站、电子商务平台、云服务等。

静态负载均衡和动态负载均衡各有优劣,选择哪种方式取决于具体的应用需求和技术条件。对于负载稳定、服务器性能均匀的小型应用,静态负载均衡可能是一个简单且有效的解决方案;而对于负载波动较大、对性能要求较高的大型分布式系统,则更适合采用动态负载均衡来确保高效的服务交付和良好的用户体验。

相关文章:

详解负载均衡

什么是负载均衡? 想象一下,你有一家餐厅,当有很多客人同时到来时,如果只有一名服务员接待,可能会导致服务变慢。为了解决这个问题,你可以增加更多的服务员来分担工作,这样每位服务员就可以更快…...

AngularJS 与 SQL 的集成应用

AngularJS 与 SQL 的集成应用 引言 在当今的Web开发领域,AngularJS 和 SQL 是两种非常重要的技术。AngularJS,作为一个强大的前端框架,能够帮助开发者构建复杂且高性能的客户端应用。而SQL(Structured Query Language),作为一种广泛使用的数据库查询语言,是管理关系型…...

ANOMALY BERT 解读

出处: ICLR workshop 2023 代码:Jhryu30/AnomalyBERT 可视化效果: 一 提出动机 动机:无监督 TSAD 领域内,“训练集” 也缺失:真值标签(GT);换句话说,一个…...

51c视觉~YOLO~合集6~

我自己的原文哦~ https://blog.51cto.com/whaosoft/12830685 一、其他yolo 1.1 Spiking-YOLO​ 使用常规深度神经网络到脉冲神经网络转换方法应用于脉冲神经网络域时,性能下降的很多,深入分析后提出了可能的解释:一是来自逐层归一化的效率…...

软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护

10.6 大型网站系统架构演化实例 大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,主要解决这类问题。 1. 单体架构 特点: 所有资源(应用程序、数据库、文件)集中在一台服务器上。适用场景: 小型网站&am…...

两数之和(Hash表)

优质博文:IT-BLOG-CN 一、题目 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出"和"为目标值target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元…...

【问题定位记录】哪些情况可能造成403

起因 403是我们平时在http请求中常见的一种错误码,如果有一天别人问你什么情况下可能造成403,我想大家都能想到的一种就是权限问题,比如鉴权失败会造成403。 但实际上不止这一种原因可能造成403,还有一种可能的原因今天就被我遇…...

SmartX分享:SMTX ZBS的纠删码EC与多副本介绍、对比与其他概念(分布式存储)

目录 背景多副本EC相关概念限制工作方式写入读取编辑故障移除硬盘、节点 EC存储配置EC推荐节点数EC的容错能力EC的数据块数k与m的互相限制 EC和多副本的对比其他涉及到全新存储分层的概念可以参考的原文链接: 背景 近期,SmartX的SMTX ZBS 分布式存储 推…...

C++并发与多线程(创建多个线程)

创建和等待多个线程 基础示例 // ConsoleApplication10.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include <vector> #include <map> #include <string> #include <thread> #include <…...

【开发日志】ASP.NET Core Minimal APIs开发日志

后端 实现登录注册 注册API 在数据库中存储/注册账户密码 登录API 检测接收来的账户密码&#xff0c;如果正确&#xff0c;则生成JWT Token返回给客户端 未配置密钥 报错信息,这是我在提交注册请求时&#xff0c;后端报的错&#xff0c;看起来是在生成JWT Token时出现了…...

5G学习笔记之Non-Public Network R18

只是协议的搬运工 目录 0. NPN其它笔记 1. 概述 2. R18增强 2.1 等效SNPN间的移动性管理 2.2 non-3GPP接入SNPN 2.3 Localized Service 2.4 Charging 2.5 Management 0. NPN其它笔记 1. SNPN系列ID和广播消息 1. 概述 NPN&#xff0c;Non-Public Network, 非公共网络&#xf…...

sheng的学习笔记-AI-WaveNet模型

Ai目录&#xff1a;sheng的学习笔记-AI目录-CSDN博客 需要先看一下这些文章&#xff0c;作为基础 sheng的学习笔记-AI-残差网络-Residual Networks (ResNets)_神经网络的衰变是什么-CSDN博客 sheng的学习笔记-AI-卷积神经网络_单层卷积神经网络-CSDN博客 sheng的学习笔记-T…...

0002.基于springboot +layui二手物品交易平台

适合初学同学练手项目&#xff0c;部署简单&#xff0c;代码简洁清晰&#xff1b; 注:当前项目架构使用前后端未分离哦&#xff01; 一、系统架构 前端&#xff1a;layui| html 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven 二、代…...

java集合基础

Java的java.util包主要提供了以下三种类型的集合&#xff1a; List&#xff1a;一种有序列表的集合&#xff0c;例如&#xff0c;按索引排列的Student的List&#xff1b;Set&#xff1a;一种保证没有重复元素的集合&#xff0c;例如&#xff0c;所有无重复名称的Student的Set&…...

如何在NGINX中实现基于IP的访问控制(IP黑白名单)?

大家好&#xff0c;我是锋哥。今天分享关于【如何在NGINX中实现基于IP的访问控制&#xff08;IP黑白名单&#xff09;&#xff1f;】面试题。希望对大家有帮助&#xff1b; 如何在NGINX中实现基于IP的访问控制&#xff08;IP黑白名单&#xff09;&#xff1f; 1000道 互联网大…...

「Mac玩转仓颉内测版51」基础篇13 - 高阶函数与闭包

本篇详细介绍高阶函数和闭包&#xff0c;这是仓颉语言中实现灵活逻辑的关键工具。高阶函数可将函数作为参数或返回值使用&#xff0c;而闭包能捕获其定义域中的变量&#xff0c;并在后续调用中保持状态。这些概念能让代码更加简洁、灵活&#xff0c;并提升复用性。 关键词 高阶…...

如何与GPT更高效的问答

与GPT进行高效沟通的关键在于提问的方式。通过合理的提问技巧&#xff0c;可以更清晰地表达需求&#xff0c;从而获得更准确的回答。以下是一些实用的建议&#xff0c;帮助你提升与GPT的交流效率。 1. 使用简单明了的语言&#xff1a; 尽量避免使用复杂的术语和行话&#xff0c…...

【Android】解决 ADB 中 SELinux 设置与 `Failed transaction (2147483646)` 错误

解决 ADB 中 SELinux 设置与 Failed transaction (2147483646) 错误 在使用 ADB 进行开发和调试时&#xff0c;经常会遇到由于 Android 系统安全策略&#xff08;SELinux&#xff09;引起的权限问题&#xff0c;尤其是在执行某些操作时&#xff0c;可能会遇到类似 cmd: Failur…...

etcd常用监控

通过部署etcd-exporterPrometheus&#xff0c;然后配置etcd相关告警可以及时发现etcd集群风险 常见监控项目 1. etcd集群无leader Etcd cluster have no leader - alert:EtcdNoLeaderexpr: etcd_server_has_leader 0 for:0mlabels:severity: criticalannotations:summary:Et…...

红日靶场vulnstack 7靶机的测试报告[细节](一)

目录 一、测试环境 1、系统环境 2、注意事项 3、使用工具/软件 二、测试目的 三、操作过程 1、信息搜集 2、Redis未授权访问漏洞获取web1靶机系统权限 3、获取docker靶机系统权限 ①Laravel框架漏洞利用getshell ②Laravel主机的提权&&docker容器逃逸 提权…...

【计算机网络】Layer4-Transport layer

目录 传输层协议How demultiplexing works in transport layer&#xff08;传输层如何进行分用&#xff09;分用&#xff08;Demultiplexing&#xff09;的定义&#xff1a;TCP/UDP段格式&#xff1a; UDPUDP的特点&#xff1a;UDP Format端口号Trivial File Transfer Protocol…...

【conda/cuda/cudnn/tensorrt】一份简洁的深度学习环境安装清单

&#x1f680;本文主要总结一下conda、cuda、cudnn、tensorrt的快速安装。至于nvidia显卡驱动的安装&#xff0c;暂且不提。本文适合有一定反复安装经验的读者&#x1f602;&#xff0c;方便其快速整理安装思路。 NVIDIA Drivers &#x1f314;01conda ⭐️ 注意&#xff0c;c…...

在C语言中,访问结构体的成员时,什么时候用`.`【符号点】,什么时候用符号`->`?

在C语言中&#xff0c;访问结构体成员时&#xff0c;使用.和->的情况取决于你是否通过结构体指针来访问。 .&#xff08;点运算符&#xff09;&#xff1a;当你有一个结构体变量时&#xff0c;使用点运算符来访问它的成员。例如&#xff1a; struct Person {char name[50];i…...

Java序列化

Java序列化 简单来说&#xff1a; 序列化是将对象的状态信息转换为可以存储或传输的形式&#xff08;如字节序列&#xff09;的过程。在 Java 中&#xff0c;通过序列化可以把一个对象保存到文件、通过网络传输到其他地方或者存储到数据库等。最直接的原因就是某些场景下需要…...

Python 方框消除小游戏

import pygame import random# 初始化pygame pygame.init()# 设置屏幕大小 screen pygame.display.set_mode((800, 600))# 设置标题 pygame.display.set_caption("打砖块")# 定义颜色 WHITE (255, 255, 255) BLACK (0, 0, 0) RED (255, 0, 0) GREEN (0, 255, 0)…...

微软 Phi-4:小型模型的推理能力大突破

在人工智能领域&#xff0c;语言模型的发展日新月异。微软作为行业的重要参与者&#xff0c;一直致力于推动语言模型技术的进步。近日&#xff0c;微软推出了最新的小型语言模型 Phi-4&#xff0c;这款模型以其卓越的复杂推理能力和在数学领域的出色表现&#xff0c;引起了广泛…...

OkHttp源码分析:分发器任务调配,拦截器责任链设计,连接池socket复用

目录 一&#xff0c;分发器和拦截器 二&#xff0c;分发器处理异步请求 1.分发器处理入口 2.分发器工作流程 3.分发器中的线程池设计 三&#xff0c;分发器处理同步请求 四&#xff0c;拦截器处理请求 1.责任链设计模式 2.拦截器工作原理 3.OkHttp五大拦截器 一&#…...

前后端跨域问题(CROS)

前端 在src中创建util文件&#xff0c;写request.js文件&#xff1a; request.js代码如下&#xff1a; import axios from axios import { ElMessage } from element-plus;const request axios.create({// baseURL: /api, // 注意&#xff01;&#xff01; 这里是全局统一加…...

ctfshow xss

1.web316 看的wp 先在服务器上写一个php文件 <?php$cookie $_GET[cookie];$time date(Y-m-d h:i:s, time());$log fopen("cookie.txt", "a");fwrite($log,$time.: . $cookie . "\n");fclose($log); ?> 获取cookie的值&#xff…...

kafka客户端调用

kafka客户端调用 springboot整合kafkajava调用kafka其他问题 springboot整合kafka 手动提交需要在配置文件配置kafka属性 kafka.listener.ack-mode: manual Component public class MyKafkaListener {Autowiredprivate SaslClient saslClient;//监听所有分区KafkaListener(top…...

Linux 中 sftp 命令基本使用

参考链接 sftp 命令_sftp命令-CSDN博客 登录服务器【必须】 # sftp userNamehost # 例如 sftp root8.138.86.224 上传文件到服务器 使用 sftp 命令可以将本地文件上传到远程主机 # put local_file remote_file # 例如&#xff1a; put E://1.mp4 /root/1.mp4 下载文件 使…...

xtu oj 3个矩形与1个正方形

文章目录 回顾前言代码思路 回顾 xtu oj 神经网络xtu oj 1167 逆序数&#xff08;大数据&#xff09;xtu oj 原根xtu oj 不定方程的正整数解xtu oj 最多的可变换字符串xtu oj String Ixtu oj 字母序列xtu oj 分段xtu oj 完全平方数IIxtu oj 连接字符串xtu oj 2021xtu oj 数字x…...

C++ 引用

引用&#xff08;Reference&#xff09;是C语言中用于给变量起别名的特性&#xff0c;是一种轻量级的变量访问方式。通过引用&#xff0c;可以对原变量进行操作而不需要直接访问原变量的内存地址。这一特性极大地增强了代码的简洁性和安全性&#xff0c;同时也在参数传递和返回…...

解决几个常见的ASP.NET Core Web API 中多线程并发写入数据库失败的问题

前言 在ASP.NET Core Web API应用程序中&#xff0c;当多个并发线程同时调用新增用户数据的接口时&#xff0c;可能会遇到数据库写入失败的问题。这个问题通常源于多个线程同时访问数据库时&#xff0c;可能会导致以下情况&#xff1a; 数据库连接池耗尽&#xff1a;每个线程…...

让知识更具生命力

在当今快速发展的技术世界中&#xff0c;技术文档的重要性不言而喻。它不仅是知识传递的有效载体&#xff0c;也是团队协作的基石&#xff0c;更是提升产品竞争力的重要工具。然而&#xff0c;编写出一份清晰、完整且实用的技术文档&#xff0c;对于许多开发者和团队来说并非易…...

批量DWG文件转dxf(CAD图转dxf)——c#插件实现

此插件可将指定文件夹及子文件夹下的dwg文件批量转为dxf文件。 &#xff08;使用方法&#xff1a;命令行输入 “netload” 加载插件&#xff0c;然后输入“dwg2dxf”运行&#xff0c;选择文件夹即可。&#xff09; 生成dxf在此新建的文件夹路径下&#xff0c;包含子文件夹内的…...

《Django 5 By Example》阅读笔记:p561-p613

《Django 5 By Example》学习第 21 天&#xff0c;p561-p613 总结&#xff0c;总计 53 页。 一、技术总结 1.mixins (1)定义(什么是 mixins?) p570&#xff0c;Mixins are a special kind of multiple inheritance for a class. (2)适用场景(为什么使用&#xff1f;) 1)…...

1. 字符串分割

给定一个非空字符串S&#xff0c;其被N个‘-’分隔成N1的子串&#xff0c;给定正整数K&#xff0c;要求除第一个子串外&#xff0c;其余的子串每K个字符组成新的子串&#xff0c;并用‘-’分隔。对于新组成的每一个子串&#xff0c;如果它含有的小写字母比大写字母多&#xff0…...

[SAP ABAP] 将内表数据转换为HTML格式

从sflight数据库表中检索航班信息&#xff0c;并将这些信息转换成HTML格式&#xff0c;然后下载或显示在前端 开发步骤 ① 自定义一个数据类型 ty_sflight 来存储航班信息 ② 声明内表和工作区变量&#xff0c;用于存储表头、字段、HTML内容和航班详细信息以及创建字段目录lt…...

计算机网络-应用层

应用层是咱们日常开发中&#xff0c;最常用到的一层 主要涉及到两种情况&#xff1a; 1.使用大佬们已经创建好的应用层协议&#xff08;后面再讨论&#xff0c;应用层知名的协议有很多&#xff0c;其中的佼佼者就是 HTTP (后面会出单独的文章来讲解)&#xff09;2.自己定义应用…...

SpringEvent 解决 WebUploader 大文件上传解耦问题

一、SpringEvent涉及的相关组件 为了让不熟悉SpringEvent的朋友对Event也有一个大致的印象。这里还是对SpringEvent对象包含的方法和相关组件的应用进行简单的介绍。 1、 事件&#xff08;Event&#xff09; 事件是应用程序中发生的某种事情&#xff0c;可以是用户行为、系统…...

KALI安装操作及过程

以下是在计算机上安装 Kali Linux 的详细教程&#xff1a;&#xff08;通常我直接使用虚拟机&#xff09; 解压虚拟机安装包&#xff0c;直接在虚拟机中打开KALI &#xff08;将内存改为4GB&#xff09; 初始密码账号&#xff1a;kali 一、准备工作 下载 Kali Linux 镜像文件…...

Scala—“==“和“equals“用法(附与Java对比)

Scala 字符串比较—""和"equals"用法 Scala 的 在 Scala 中&#xff0c; 是一个方法调用&#xff0c;实际上等价于调用 equals 方法。不仅适用于字符串&#xff0c;还可以用于任何类型&#xff0c;并且自动处理 null。 Demo&#xff1a; Java 的 在 J…...

[Flutter] : Clipboard

import package:flutter/material.dart; import package:flutter/services.dart; setData Clipboard.setData(ClipboardData(text: "传入的文字内容")); getData Clipboard.getData(Clipboard.kTextPlain) 记录 &#xff5c; Flutter剪切板-刨根问底做一个可以在后台…...

vue2:v-for实现的el-radio-group选中时显示角标,并自定义选中按钮的字体颜色和背景色

项目中需要实现一组预定义查询,每一个查询按钮在选中时右上角显示一个角标,展示当前查询返回的数据条目。 1、text-color="#3785FF" fill="#E6EAF1" 处理选中时的字体颜色和背景色,如上图,分别为蓝色和浅灰色。 2、badge中:value="selectedRadio…...

Dynamics 365 CRM- 后端

Dynamics 365 CRM 后端插件语法示例 public IPluginExecutionContext context null;//上下文 public IOrganizationServiceFactory serviceFactory null;//组织服务工厂对象 public IOrganizationService service null;//Org服务对象//创建执行上下文 context (IPluginExe…...

电脑显示器选购指南2024

选择显示器是五花八门的显示参数&#xff0c;如何选择&#xff0c;以下给出参数说明&#xff0c;及部分参考&#xff1a; 1. 尺寸和分辨率 尺寸&#xff08;英寸&#xff09; 根据使用距离和用途选择合适的屏幕尺寸&#xff1a; 21-24 英寸&#xff1a;适合小桌面空间、日常…...

机器学习-多元线性回归

文章目录 代码什么是回归任务什么是多元什么是回归什么是多元线性回归表达式何时使用多元线性回归注意损失函数 代码 https://github.com/FULLK/AI_Study/tree/main/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0-%E5%A4%9A%E5%85%83%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92 什么是回归…...

WEB语义化的新探索:浅析LLMs.txt

【引】有人迷恋使用大模型生成各种有趣的内容&#xff0c; 有人沉醉于大模型相关技术的探索&#xff0c;没有对错&#xff0c;只在于你的乐趣所在。 一项名为 llms.txt 的新提案标志了一些非同寻常的东西的出现: 一个Web网站不仅为人类读者服务&#xff0c;而且为人工智能提供服…...

【经典】制造供应链四类策略(MTS、MTO、ATO、ETO)细说

关注作者 制造供应链的牛鞭问题与复杂问题主要是从两个方面解决&#xff0c;一是同步化供应链消减从需求到供应的放大效应&#xff0c;二是供应链细分&#xff0c;针对不同的客户、不同的需求供应的匹配策略来应对复杂性&#xff0c;更好的满足客户并以最低的总成本来实现。 对…...