LVS集群概述

1、集群概念

1.1、介绍

集群是指多台服务器集中在一起,实现同一业务,可以视为一台计算机。多台服务器组成的一组计算机,作为一个整体存在,向用户提供一组网络资源,这些单个的服务器就是集群的节点。

特点:

1.高性价比

通常一套系统集群架构,只需要几台或数十台服务器主机即可,与动则上百万的专用超级计算机相比具有更高的性价比

2.可扩展性

集群的性能不限于单一的服务实体,新的服务实体可以动态的加入到集群,从而增强集群的性能

3.高可用性

如果集群某个节点发生故障,这台节点上面运行的服务,可以被其他服务节点接管,从而增强集群的高可用性。

4.负载均衡

负载均衡能把任务比较均匀的分布到集群环境下的计算和网络资源,以便提高数据吞吐量

5.透明性

多个独立计算机组成的松耦合集群系统构成一个虚拟服务器。用户或客户端程序访问集群系统时,就像访问一台高性能,高可用的服务器一样,集群中一部分服务器的上线,下线不会中断整个系统服务,这对用户也是透明的

6.可管理性

整个系统可能在物理上很大,但是集群系统易管理,就像管理一个单一映像系统一样。在理想状况下,软硬件模块的插入能做到即插即用

1.2、类型

负载均衡集群(Load Balance Cluster) 

负载均衡系统:集群中所有的节点都处于活动状态,它们分摊系统的工作负载。一般Web服务器集群、数据库集群和应用服务器集群都属于这种类型。

负载均衡集群一般用于相应网络请求的网页服务器,数据库服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。

Load Balancing负载均衡(LB),不同节点之间相互独立,不共享任何资源;通过一定算法将客户端的访问请求平分到群集的各个节点上,充分利用每个节点的资源。负载均衡扩展了网络设备和服务器带宽,增加吞吐量,加强网络数据处理能。

高可用集群(High Availability Cluster)

常见的就是2个节点做成的HA集群,有很多通俗的不科学的名称,比如”双机热备”, “双机互备”, “双机”。

高可用集群解决的是保障用户的应用程序持续对外提供服务的能力。

High availability Cluster高可用群集(HAC) ;主要用于高可用解决方案的实现,节点间以主备形式,实现容灾;在大型故障(宕机,服务器故障)的情况下实现快速恢复,快速提供服务。

高可用群集可实现以下三种方式:

主从方式:主机工作,备机监控。此方式不能有效的利用服务器资源。

互为主从:两服务器同时在线,一台服务器故障可切换到另一台上。此 方式有效的利用服务器资源,但当服务器故障时候,将导致一台服务器上运行多个业务。

多台服务器主从:大部分服务器在线使用,小部分监控;若有部分服务器故障,可切换到指定的小部分服务器上。此方式为前两种方式的综合。然后多台服务器群集,也增加了管理的复杂度。

科学计算集群(High Performance Computing Cluster)

简称HPC集群。这类集群致力于提供单个计算机所不能提供的强大的计算能力。

并行计算或称平行计算是相对于串行计算来说的。并行计算的能力的目的是提高计算速度。

并行计算分为时间计算和空间计算:

时间计算既是流水线技术,一个处理器分为多个单元,每个单元负责不同任务,这些单元可并行计算。

空间计算利用多个处理器并发的执行计算。目前PC机的计算能力越来越强,将大量低廉的PC机互联起来,组成一个"大型计算机"以解决复杂的计算任务。

高性能计算集群采用将计算任务分配到集群的不同计算节点儿提高计算能力,因而主要应用在科学计算领域。

HPC集群特别适合于在计算中各计算节点之间发生大量数据通讯的计算作业,比如一个节点的中间结果会影响到其它节点计算结果的情况。

2、LVS介绍

LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统LVS简单工作原理为用户请求LVS VIP,LVS根据转发方式和算法,将请求转发给后端服务器,后端服务器接收到请求,返回给用户。对于用户来说,看不到Web后端具体的应用。

LVS(Linux Virtual Server)是基于Linux内核的四层负载均衡解决方案,通过将多台服务器组成虚拟服务集群,实现高性能、高可用的网络服务。其核心组件包括:

  • Director:负载均衡调度器,接收客户端请求并分发到后端 Real Server(调度器)
  • RS (Real Server):实际处理请求的后端服务器(真实服务器)
  • VS (Virtual Server): 虚拟服务器,负责调度
  • VIP (Virtual IP):对外服务的虚拟IP地址
  • RIP (Real IP):后端服务器的真实IP地址
  • DIP (Director IP):VS内网的IP 代理服务器的 内网ip
  • CIP (Client IP):客户端源IP地址

3、LVS和nginx区别

  • LVS比nginx具有更强的抗负载能力,性能更高,对内存和cpu资源消耗低。 
  • LVS工作在网络层,具体流量由操作系统内核进行处理,nginx工作在应用层,可针对http应用实施一些分流策略。
  • LVS安装配置比较复杂点,网络依赖性较大,稳定性高,lvs不支持正则表达式,不能实现动静分离操作。
  • LVS使用的协议范围广, Nginx 仅支持 HTTP、HTTPS、Email 协议,适用范围小。

(五)、LVS调度算法
ipvs scheduler:根据其调度时是否考虑各RS当前的负载状态分为两种:

1. 静态算法(不考虑RS负载)
RR(round robin,轮询):将收到的访问请求按照顺序轮流分配给群集中的各节点,均等地对待每台服务器,而不管服务器实际的连接数和系统负载。
WRR(weight round robin,加权轮询):根据调度器设置的权重值来分发请求,权重值高的节点优先获得任务并且分配的请求越多,这样可以保证性能高的节点承担更多请求。
SH(source hashing,源地址散列算法(HASH)):根据请求来源的IP地址进行Hash计算,得到后端服务器,这样来自同一个IP的请求总是会落到同一台服务器上处理,以致于可以将请求上下文信息存储在这个服务器上。


2. 动态算法(基于RS负载状态)
LC(leash-connection,最少连接):根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点。如果所有的服务器节点性能相近,采用这种方式可以更好地均衡负载。简单算法:active * 256 + inactive (谁的小选谁)
WLC(加权最少连接):在服务器节点的性能差异较大的情况下,调度器可以根据节点服务器负载自动调整权重,权重较高的节点将承担更大比例的活动连接负载。  简单算法:(active * 256 + inactive) / weight(谁的小选谁)
SED(最少期望延迟):优化高权重节点的初始连接分配。Shortest Expection Delay,初始连接高权重优先,只检查活动连接,而不考虑非活动连接 ;

NQ(never queue,永不排队):Never Queue,第一轮均匀分配,后续SED。

LBLC(基于局部性的最少连接 )

不仅考虑全局的服务器负载,还考虑服务器所在局部的负载情况,从而实现更细致的负载均衡。

LBLCR(基于局部性的带复制功能的最少连接)

在LBLC的基础上,当某个服务器过载时,可以选择复制流量到其他服务器,以平衡负载。

 LVS工作模式

lvs软件相关信息

程序包:ipvsadm
Unit File: ipvsadm.service
主程序:/usr/sbin/ipvsadm
规则保存工具:/usr/sbin/ipvsadm-save
规则重载工具:/usr/sbin/ipvsadm-restore
配置文件:/etc/sysconfig/ipvsadm-config
ipvs调度规则文件:/etc/sysconfig/ipvsadm

lvs集群中的增删改

1.管理集群服务中的增删改
ipvsadm -A|E -t|u|f service-address [-s scheduler] [-p [timeout]]
-A         #添加
-E         #修改
-t         #tcp服务
-u         #udp服务
-s         #指定调度算法,默认为WLC
-p         #设置持久连接超时,持久连接可以理解为在同一个时间段同一个来源的请求调度到同一Realserver
-f         #firewall mask 火墙标记,是一个数字
2.管理集群中RealServer的曾增删改
ipvsadm -a|e -t|u|f service-address -r realserver-address [-g|i|m] [-w weight]
-a         #添加realserver
-e         #更改realserver
-t         #tcp协议
-u         #udp协议
-f         #火墙 标签
-r         #realserver地址
-g         #直连路由模式
-i         #ipip隧道模式
-m         #nat模式
-w         #设定权重
-Z         #清空计数器
-C         #清空lvs策略
-L         #查看lvs策略
-n         #不做解析
--rate :输出速率信息

1、基于NAT的LVS模式负载均衡

NAT(network address translation) 网络地址转换,其主要原理是修改数据报头,使得位于企业内部的私有ip地址可以访问外网,以及外部用户可以访问位于公司内部的私有的ip主机。 

LVS调度器中有一个连接Hash表,该表会记录连接请求及其转发信息,当同一个连接下一个数据包发送给调度器时,该Hash表可以直接找到之前连接的记录,并根据记录信息选出相同真实服务器及其端口信息。

1.1、工作原理

  1. 当用户的请求到达调度器时,请求报文会先到内核空间的PREROUTING链上。此时报文的源IP为CIP,目标IP为VIP
  2. PREROUTING检查发现数据包的目标IP是本机,就将数据包送至INPUT链。
  3. IPVS工作在INPUT链上,当数据包抵达INPUT链后,IPVS会检查数据包所请求的服务是否为集群服务,若是,修改数据包的目标IP地址为后端服务器RIP,然后将数据包送往 POSTROUTING链。此时报文的源IP为CIP,目标IP为RIP。
  4. POSTROUTING链通过选路,将数据包转发给Real Server
  5. Real Server对比发现目标IP是自己,就会接受这个请求报文,开始构建响应报文发回给调度器。源IP为RIP,目标IP为CIP
  6. 调度器在响应客户端前,会将报文的源IP地址修改为自己的VIP,然后响应给客户端。此时报文的源IP为VIP,目标IP为CIP

1.2、NAT模式特性

本质是多目标IP的DNAT,通过将请求报文中的目标地址和目标端口修改为某挑出的RS的RIP和PORT实现转发

  • RIP和DIP应在同一个IP网络,且应使用私网地址;RS的网关要指向DIP
  • 请求报文和响应报文都必须经由Director转发,Director易于成为系统瓶颈
  • 支持端口映射,可修改请求报文的目标PORT
  • VS必须是Linux系统,RS可以是任意OS系统

1.3、NAT的优缺点

优点:集群中的物理服务器可以使用任何支持TCP/IP操作系统它只需要一个 IP 地址配置在调度器上,服务器组可以用私有的 IP 地址。
缺点:伸缩能力有限,当服务器节点(普通PC服务器)增长过多时,负载均衡器将成为整个系统的瓶颈,因为所有的请求包和应答包的流向都经过负载均衡器。当服务器节点过多时,大量的数据包都交汇在负载均衡器那,速度就会变慢。 

2、基于TUN的LVS负载均衡(不常用)

IP 隧道:IP Tunnel,简称:TUN 模式,采用开放式的网络结构,负载调度器作为客户机的访问入口,各节点通过各自的 Internet 连接直接回应给客户机,而不经过负载调度器,服务器节点分散在互联网中的不同位置,有独立的公网 IP 地址,通过专用 IP 隧道与负载调度器相互通信。 

 2.1、实现原理

  1. 在原有的ip报文外在封装多一层的ip首部,内部ip首部(原地址为cip,目标ip为vip),外层ip首部原地址为dip,.目标地址为rip
  2. 客户端发送数据包经过网络后到 LVS 网卡,数据包源 IP 为 CIP,目的 IP 为 VIP。
  3. 进入 PREROUTING 链后,会根据目的 IP 去查找路由,确定是否为本机 IP,数据包将转发至 INPUT 链中,到 LVS,源 IP 和 目的 IP 不变。
  4. 到 LVS 后,通过目的 IP 和目的 PORT 查找是否为 IPVS 服务,如是 IPVS 服务,将会选择一个 RS 后端服务器, 源 IP 为 DIP,目标 IP 为 RIP,数据包将会转发至 OUTPUT 链中。
  5. 数据包根据路由信息到达 LVS 网卡,发送至路由器网关,最终到达后端服务器。
  6. 后端服务器收到数据包后,会拆掉最外层的 IP 地址后,会发现还有一层 IP 首部,源 IP 为 CIP,目的 IP 为 VIP,TUNL0 上配置 VIP,查找路由后判断为本机 IP 地址,将会发给用户空间层的应用程序响应后 VIP 为源 IP,CIP 为目的 IP 数据包发送至网卡,最终返回至客户端用户。
2.2、TUN模式特性

转发方式:不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS;RS直接响应给客户端(源IP是VIP,目标IP是CIP)。

2.3、 TUN模式的特点

  • 单臂模式,LVS 负载压力小。

  • 数据包修改小,信息完整性高。

  • 可跨机房。 

  • 请求报文要经由Director,但响应不能经由Director 。

  •  不支持端口映射

  • RS的OS须支持隧道功能

  • RS的网关一般不能指向DIP 

  • DIP, VIP, RIP都应该是公网地址 

2.4 、TUN模式的缺点

缺点:

  • 不支持端口映射。

  • 需在 RS 后端服务器安装模块(ipip)及配置 VIP。

  • 隧道头部 IP 地址固定,RS 后端服务器网卡可能会不均匀。

  • 隧道头部的加入可能会导致分片,最终会影响服务器性能。

3、基于DR的LVS负载均衡

直接路由:Direct Routing,简称 DR 模式,采用半开放式的网络结构,与 TUN 模式的结构类似,但各节点并不是分散在各个地方,而是与调度器位于同一个物理网络,负载调度器与各节点服务器通过本地网络连接,不需要建立专用的 IP 隧道。它是最常用的工作模式,因为它的功能性强大。

3.1、DR 实现原理

  1.  当用户诸求到达Director server,此时请求的数据报文会先到内核空间的PREROUTING链。 此时报文的源IP为CIP,目标IP为VIP。
  2. PREROUTING检查发现数据包的目标IP是本机,将数据包送至INPUT链。
  3. IPVS比对数据包请求的服务是否为集群服务,若是,将请求报文中的源MAC地址修改为DIP的MAC地址,将目标MAC地址修改RIP的MAC地址,然后将数据包发至POSTROUTING链。 此时的源IP和目的IP均未修改,仅修改了源MAC地址为DIP的MAC地址,目标MAC地址为RIP的MAC地址。
  4. 由于DS和RS在同一个网络中,所以是通过二层来传输。POSTROUTING链检查目标MAC地址为RIP的MAC地址,那么此时数据包将会发至Real server。
  5. RS发现请求报文的MAC地址是自己的MAC地址,就接收此报文。处理完成之后,将响应报文通过10接口传5、送给eth0网卡然后向外发出。此时的源IP地址为VIP,目标IP为CIP。
  6. 响应报文最终送达至客户端。

4、full net模式 

4.1full net工作原理

fullnat:通过同时修改请求报文的源IP地址和目标IP地址进行转发
CIP --> DIP
VIP --> RIP

4.2、full net模式的特点

1.VIP是公网地址,RIPDIP是私网地址,且通常不在同一IP网络;因此,RIP的网关一般不会指向DIP
2.RS收到的请求报文源地址是DIP,因此,只需响应给DIP;但Director还要将其发往Client
3.请求和响应报文都经由Director
4.支持端口映射

 IPVS模块

1、IPVS的介绍

IPVS基本上是一种高效的Layer-4交换机,它提供负载平衡的功能。当一个TCP连接的初始SYN报文到达时,IPVS就选择一台服务器,将报文转发给它。此后通过查看报文的IP和TCP报文头地址,保证此连接的后继报文被转发到相同的服务器。这样,IPVS不用检查到请求的内容再选择服务器,这就要求后端的服务器组是提供相同的服务,不管请求被送到哪一台服务器,返回结果都应该是一样的。但是在有一些应用中后端的服务器可能功能不一,有的是提供HTML文档的Web服务器,有的是提供图片的Web服务器,有的是提供CGI的Web服务器。这时,就需要基于内容请求分发 (Content-Based Request Distribution),同时基于内容请求分发可以提高后端服务器上访问的局部性。 

2、IPVS的工作原理

IPVS是LVS的关键,因为LVS的IP负载平衡技术就是通过IPVS模块来实现的,IPVS是LVS集群系统的核心软件,它的主要作用是:安装在Director Server上,同时在Director Server上虚拟出一个IP地址,用户必须通过这个虚拟的IP地址访问服务。这个虚拟IP一般称为LVS的VIP,即Virtual IP。访问的请求首先经过VIP到达负载调度器,然后由负载调度器从Real Server列表中选取一个服务节点响应用户的请求。

LVS的本身分成了两个部分,第一部分是工作在内核空间的一个IPVS的模块(工作在Netfilter框架的input链上),其实LVS的功能都是IPVS模块实现的,第二部分是工作在用户空间的一个用来定义集群服务的一个工具ipvsadm, 这个工具的主要作用是将管理员定义的集群服务列表传送给工作在内核空间中的IPVS模块。

3、ipvsadm命令

核心功能:
  • 集群服务管理:增、删、改
  • 集群服务的RS管理:增、删、改
  • 查看

命令参数:

管理集群服务 
ipvsadm -A|E -t(tcp)|u(udp)|f(防护墙标签) \service-address(集群地址) \ 
[-s scheduler(调度算法)] \ 
[-p [timeout]] \ 
[-M netmask] \ 
[--pepersistence_engine] \ 
[-b sched-flags] 
ipvsadm -D -t|u|f service-address 删除 
ipvsadm –C 清空 
ipvsadm –R 重载 
ipvsadm -S [-n] 保存 管理集群中的real server 
ipvsadm -a|e -t|u|f service-address -r server-address [-g | -i| -m](工作模式) [-w weight](权重) 
ipvsadm -d -t|u|f service-address -r server-address 删除RS 
ipvsadm -L|l [options] 查看rs
ipvsadm -Z [-t|u|f service-address] 清楚计数器
pvs规则:/proc/net/ip_vs
ipvs连接:/proc/net/ip_vs_conn

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

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

相关文章

spring-ai-alibaba如何上传文件并解析

问题引出 在我们日常使用大模型时,有一类典型的应用场景,就是将文件发送给大模型,然后由大模型进行解析,提炼总结等,这一类功能在官方app中较为常见,但是在很多模型的api中都不支持,那如何使用…

「双容器嵌套布局法」:打造清晰层级的网页架构设计

一、命名与核心概念 “双容器嵌套布局法”,核心是通过两层容器嵌套构建网页结构:外层容器负责控制布局的“宏观约束”(如页面最大宽度、背景色等),内层容器聚焦“微观排版”(内容居中、内边距调整、红色内容…

基于深度学习的自然语言处理:构建情感分析模型

前言 自然语言处理(NLP)是人工智能领域中一个非常活跃的研究方向,它致力于使计算机能够理解和生成人类语言。情感分析(Sentiment Analysis)是NLP中的一个重要应用,其目标是从文本中识别和提取情感倾向&…

JWT原理及利用手法

JWT 原理 JSON Web Token (JWT) 是一种开放的行业标准,用于在系统之间以 JSON 对象的形式安全地传输信息。这些信息经过数字签名,因此可以被验证和信任。其常用于身份验证、会话管理和访问控制机制中传递用户信息。 与传统的会话令牌相比,JWT…

DeepSeek 助力 Vue3 开发:打造丝滑的日历(Calendar),日历_睡眠记录日历示例(CalendarView01_30)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录DeepS…

git的diff命令、Config和.gitignore文件

diff命令:比较git diff xxx:工作目录 vs 暂存区(比较现在修改之后的工作区和暂存区的内容)git diff --cached xxx:暂存区 vs Git仓库(现在暂存区内容和最一开始提交的文件内容的比较)git diff H…

Linux中的LVS集群技术

一、实验环境(RHEL 9)1、NAT模式的实验环境主机名IP地址网关网络适配器功能角色client172.25.254.111/24(NAT模式的接口)172.25.254.2NAT模式客户机lvs172.25.254.100/24(NAT模式的接口)192.168.0.100/24&a…

【数据结构】「队列」(顺序队列、链式队列、双端队列)

- 第 112篇 - Date: 2025 - 07 - 20 Author: 郑龙浩(仟墨) 文章目录队列(Queue)1 基本介绍1.1 定义1.2 栈 与 队列的区别1.3 重要术语2 基本操作3 顺序队列(循环版本)两种版本两种版本区别版本1.1 - rear指向队尾后边 且 无 size …

Java行为型模式---解释器模式

解释器模式基础概念解释器模式(Interpreter Pattern)是一种行为型设计模式,其核心思想是定义一个语言的文法表示,并定义一个解释器,使用该解释器来解释语言中的句子。这种模式将语法解释的责任分开,使得语法…

[spring6: PointcutAdvisor MethodInterceptor]-简单介绍

Advice Advice 是 AOP 联盟中所有增强(通知)类型的标记接口,表示可以被织入目标对象的横切逻辑,例如前置通知、后置通知、异常通知、拦截器等。 package org.aopalliance.aop;public interface Advice {}BeforeAdvice 前置通知的标…

地图定位与导航

定位 1.先申请地址权限(大致位置精准位置) module.json5文件 "requestPermissions": [{"name": "ohos.permission.INTERNET" },{"name": "ohos.permission.LOCATION","reason": "$string:app_name",&qu…

【数据结构】揭秘二叉树与堆--用C语言实现堆

文章目录1.树1.1.树的概念1.2.树的结构1.3.树的相关术语2.二叉树2.1.二叉树的概念2.2.特殊的二叉树2.2.1.满二叉树2.2.2.完全二叉树2.3.二叉树的特性2.4.二叉树的存储结构2.4.1.顺序结构2.4.2.链式结构3.堆3.1.堆的概念3.2.堆的实现3.2.1.堆结构的定义3.2.2.堆的初始化3.2.3.堆…

区间树:多维数据的高效查询

区间树:多维数据的高效查询 大家好,今天我们来探讨一个在计算机科学中非常有趣且实用的数据结构——区间树。想象一下,你是一位城市规划师,需要快速找出某个区域内所有的医院、学校或商场。或者你是一位游戏开发者,需要…

SQL 魔法:LEFT JOIN 与 MAX 的奇妙组合

一、引言 在数据库操作的领域中,数据的关联与聚合处理是核心任务之一。LEFT JOIN作为一种常用的连接方式,能够将左表中的所有记录与右表中满足连接条件的记录进行关联,即便右表中没有匹配的记录,左表的记录也会被保留,…

手写tomcat

package com.qcby.annotation;import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;Target(ElementType.TYPE)// 表示该注解只能用于类上 Retention(Retentio…

Android平台下openssl动态库编译

1. 下载Linux平台下的NDK软件包 NDK 下载 | Android NDK | Android Developers 下载完成后执行解压命令 # unzip android-ndk-r27d-linux.zip 2. 下载openssl-1.1.1w源码包,并解压 # tar -xzvf openssl-1.1.1w.tar.gz 3. 进入解压后的openssl-1.1.1w目录 …

【C++基础】面试高频考点解析:extern “C“ 的链接陷阱与真题实战

名称修饰(Name Mangling)是C为支持重载付出的代价,而extern "C"则是跨越语言边界的桥梁——但桥上的陷阱比桥本身更值得警惕 一、extern "C" 的核心概念与高频考点1.1 链接规范与名字改编机制C 为支持函数重载&#xff0…

OpenCV 官翻 4 - 相机标定与三维重建

文章目录相机标定目标基础原理代码配置校准去畸变1、使用 cv.undistort()2、使用**重映射**方法重投影误差练习姿态估计目标基础渲染立方体极线几何目标基础概念代码练习从立体图像生成深度图目标基础概念代码附加资源练习相机标定 https://docs.opencv.org/4.x/dc/dbb/tutori…

Python类中方法种类与修饰符详解:从基础到实战

文章目录Python类中方法种类与修饰符详解:从基础到实战一、方法类型总览二、各类方法详解1. 实例方法 (Instance Method)2. 类方法 (Class Method)3. 静态方法 (Static Method)4. 抽象方法 (Abstract Method)5. 魔术方法 (Magic Method)三、方法修饰符对比表四、综合…

VSCode使用Jupyter完整指南配置机器学习环境

接下来开始机器学习部分 第一步配置环境: VSCode使用Jupyter完整指南 1. 安装必要的扩展 打开VSCode,按 CtrlShiftX 打开扩展市场,搜索并安装以下扩展: 必装扩展: Python (Microsoft官方) - Python语言支持Jupyter (Mi…