lvs集群

集群与分布式系统概念

1. 集群

定义 : 集群是由多台计算机组成的系统,这些计算机协同工作,以解决特定的问题或提供特定服务。

类型 :

  • 负载均衡 (Load Balancing, LB): 由多个主机组成,每台主机只承担一部分负载。负载均衡器根据负载情况将请求分配到不同的主机。
  • 高可用 (High Availability, HA): 通过冗余配置避免单点故障 (SPOF),确保系统持续可用。
  • 可扩展性: 可以通过增加更多主机来扩展系统的处理能力。

关键指标 :

  • MTBF (Mean Time Between Failures): 平均无故障时间。
  • MTTR (Mean Time To Restoration): 平均恢复时间。
  • 可用性 (A) : 计算公式为 A=MTBFMTBF+MTTRA =MTBF +MTTRMTBF。常见的可用性水平有 99%、99.5%、99.9%、99.99%、99.999%。
2. 分布式系统

定义 : 分布式系统将业务拆分为多个子业务或功能模块,这些模块在不同的服务器上运行,以提供服务或完成任务。

类型 :

  • 分布式存储: 例如 Ceph、GlusterFS、FastDFS 和 MogileFS。
  • 分布式计算: 例如 Hadoop 和 Spark。

常见应用 :

  • 分布式应用: 将服务按功能拆分,使用微服务架构。
  • 分布式静态资源: 静态资源存储在不同的存储集群中。
  • 分布式数据和缓存: 使用 Key-Value 缓存系统。
  • 分布式计算: 针对特定业务需求使用分布式计算框架。
3. 集群与分布式的比较
  • 集群: 在多台服务器上部署同一业务系统,每台服务器的功能和数据一致。集群通过增加并行处理能力提高效率,主要依靠负载均衡器分配请求。如果一台服务器故障,其他服务器可以接管其任务。

  • 分布式: 业务被拆分为多个子业务或功能,每台服务器负责不同的任务。分布式系统提高效率的方法是缩短单个任务的执行时间。如果某个节点出现故障,可能会导致对应的子业务失败。

4.通俗的解释

你的比喻很有趣,但可以稍微调整一下,以更准确地描述集群和分布式系统的特点:

集群

比喻 : 银行的多个服务窗口

解释: 想象银行有多个服务窗口(1号窗口、2号窗口等),每个窗口提供相同的服务(例如办理存款、取款等)。这些窗口一起工作,以提高处理客户的效率。如果一个窗口(服务器)忙碌或者出现问题,其他窗口(服务器)可以继续工作,确保服务的连续性和提高处理速度。所有窗口(服务器)都处理相同类型的任务,通过增加窗口数量(服务器),银行能够处理更多的客户(请求)。

分布式系统

比喻 : 搬家中的分工

解释: 想象你和你的朋友在搬家。你负责搬冰箱,另一个朋友负责搬电脑。虽然你们的目标都是完成搬家,但你们各自负责不同的任务。你们将工作分解成不同的部分,通过并行处理来提高整体搬家的效率。如果你负责搬冰箱时,另一个人同时负责搬其他物品,这样可以更快地完成整个搬家任务。每个人(节点)专注于不同的任务(子任务),但最终的目标是一样的,即完成搬家。

总结

  • 集群: 比如银行的多个服务窗口,所有窗口提供相同的服务,关注的是通过增加相同类型的服务窗口来提高处理能力(吞吐量)。

  • 分布式系统: 比如搬家时的任务分工,每个人负责不同的物品,关注的是通过任务分解和并行处理来提高整体工作效率(加速单个任务的完成)。

通过这两个比喻,可以清楚地看到集群关注的是增加相同类型服务的处理能力,而分布式系统关注的是通过任务分解和并行处理来提高处理效率。

LVS(Linux Virtual Server)简介

LVS(Linux Virtual Server)是一个由章文嵩博士发起的自由软件项目,提供高性能的负载均衡解决方案。LVS集成于Linux内核中,主要用于在多个后端服务器之间分发客户端请求,以实现高可用性和负载均衡。

LVS专业术语

  • DR: Director(负载均衡器,分发器)
  • VS: Virtual Server(负载均衡集群对外提供的IP+Port)
  • RS: Real Server(后端请求处理服务器)
  • CIP: Client IP(客户端访问的IP)
  • VIP: Virtual IP(外网访问的虚拟IP)
  • DIP: Director IP(负载均衡器IP)
  • RIP: Real Server IP(后端服务器IP)

工作原理

LVS根据请求报文的目标IP和端口,将请求调度到后端的某个RS。调度的选择基于配置的算法,从而实现负载均衡。用户请求LVS的VIP,LVS根据转发方式和调度算法,将请求转发给后端服务器,后端服务器处理请求并将结果返回给用户。用户无法感知到具体的后端服务器。

LVS调度算法

静态调度算法
  • RR(Round Robin): 轮询调度,每个RS按顺序处理请求。适用于RS能力相近的场景。
  • WRR(Weighted Round Robin): 加权轮询,根据RS的权重进行调度。性能差的RS被调度的次数较少。
  • SH(Source Hashing): 源IP哈希,将来自同一IP的请求始终发送到同一个RS,实现会话绑定(session sticky)。
  • DH(Destination Hashing): 目标地址哈希,将同一目标地址的请求始终发送到同一个RS,适用于正向代理缓存场景。
动态调度算法
  • LC(Least Connections): 最少连接数,将请求发送到活动连接数最少的RS。适用于长连接应用。
  • WLC(Weighted Least Connections): 权重最少连接数,根据RS的权重和连接数进行调度。
  • SED(Shortest Expectation Delay): 短期待延迟,优先调度初始连接数较高的RS,但权重较低的RS可能在初期会接收更多请求。
  • NQ(Never Queue): 第一轮均匀分配,之后使用SED算法。
  • LBLC(Locality-Based Least Connections): 基于位置的最少连接数,将请求分配给负载较轻的RS,适用于正向代理。
  • LBLCR(LBLC with Replication): 带复制功能的LBLC,解决LBLC负载不均衡的问题,通过将负载重的请求复制到负载轻的RS。

通过这些算法,LVS能够有效地在多台后端服务器之间分配负载,优化资源利用,提升系统的整体性能和可靠性。

相关推荐
远游客071313 分钟前
centos stream 8下载安装遇到的坑
linux·服务器·centos
fantasy_arch1 小时前
CPU性能优化-磁盘空间和解析时间
网络·性能优化
LIKEYYLL2 小时前
GNU Octave:特性、使用案例、工具箱、环境与界面
服务器·gnu
云云3213 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3213 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
CircleMouse3 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos
是Dream呀3 小时前
Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络
网络·python·神经网络
木子Linux4 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
kaixin_learn_qt_ing4 小时前
了解RPC
网络·网络协议·rpc
不惑_4 小时前
小白入门 · 腾讯云轻量服务器部署 Hadoop 3.3.6
服务器·hadoop·腾讯云