LVS 概念介绍

1、集群简介
集群概述

集群称呼来自于英文单词 cluster,表示一群、一串的意思,用在服务器领域则表示大量服务器的集合体,协同起来向用户提供系统资源,系统服务。通过网络连接组合成一个计算机组,来共同完一个任务。

根据实际企业环境的不同,集群所提供的功能也各不相同,采用的技术细节也可能各有千秋,但无论哪种集群,都至少包括两台节点服务器。而对外表现为一个整体,只提供一个访问入口(域名或 IP 地址),为用户提供服务,组成集群的服务器称之为集群的节点。

集群特性

① 高性能(performance)

一些需要很强的运算处理能力比如天气预报,核试验等。这就不是几台计算机能够搞定的。这需要上千台一起来完成这个工作的,可以获得很高的整体性能。

② 价格有效性(性价比)

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

③ 可伸缩性

集群系统中的节点数目可以增长到几千个,乃至上万个,当服务器负载压力增长的时候,系统能够扩展来满足需求,且不降低服务质量。

④ 高可用性

在硬件和软件上都有冗余,通过检测软硬件的故障,将故障屏蔽,由存活节点提供服务,可实现高可用性。确保整个系统的服务必须是 7*24 小时运行的。

应用场景

高并发、高可用性、高性能场景

例如:一台 web 服务器,如果能够响应 10000 个并发,如果现在有 20000 个并发,一台服务器就无法响应。说明,web 服务已经达到瓶颈 。

解决这个问题的办法:

  • 加配置: 加 CPU, 加内存, 加带宽, 加 SSD 这种解决方法称为“向上扩展”或“纵向扩展”, 能够解决一时, 却不能彻底解决。
  • 加服务器: 一台==>两台, 两台==>四台 四台==>8 台。使用多台服务器同时为用户提供服务,而这一种解决方法则称为“横向扩展”,就是搭建集群。
集群的种类

根据集群所针对的目标差异,可分为以下三种类型:

① 负载均衡集群(laod balance cluster,简称 LB):以提高应用系统的响应能力,尽可能处理更多的访问请求,减少延迟为目标,获得高并发、高负载的整体性能。 LB 的负载分配依赖于主节点的分流算法,将来自客户机的访问请求分担给多个服务器节点,从而缓解整个系统的负载压力。

② 高可用集群(high availability cluster,简称 HA):以提高应用系统的可靠性,尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。HA 的工作方式包括双工、主从两种模式------双工即所有节点同时在线,主从则只有主节点在线,但当出现故障时从节点能自动切换为主点。

高性能运算集群(high performance computer cluster 简称 HPC):这类集群致力于提供单个计算机所不能提供的强大的计算能力,以提高应用系统的 CPU 运算速度,扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算能力.通过专用硬件和软件将多个服务器的 CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力。

实现手段

负载均衡集群(LB)实现手段

  • 硬件的实现: F5 负载均衡器 深信服 A10
  • 软件的实现: LVS(4 层,传输层) ,Nginx(7 层,应用层)
2、LVS 集群
LVS 介绍

官网:http://www.linuxvirtualserver.org/

中文站点: http://zh.linuxvirtualserver.org/

LVS 是 Linux Virtual Server 的简写,意即 Linux 虚拟服务器,是一个虚拟的服务器集群系统,本项目在 1998 年 5 月由阿里巴巴的著名工程师章文嵩博士开发的一款开源软件,是中国国内最早出现的自由软件项目之一。

LVS 工作在一台 server 上提供 Director(负载均衡器)的功能,本身并不提供服务,只是把特定的请求转发给对应的 real server(真正提供服务的主机),从而实现集群环境中的负载均衡。

LVS 工作在 ISO 模型中的第四层,由于其工作在第四层,因此与 iptables 类似,必须工作在内核空间上。因此 lvs 与 iptables 一样,是直接工作在内核中的,叫 ipvs,主流的 linux 发行版默认都已经集成了 ipvs,因此用户只需安装一个管理工具ipvsadm 即可。

LVS 的专用名词

解释

DS:Director Server

指的是前端负载均衡器节点。

RS:Real Server

后端真实的工作服务器。

VIP

向外部直接面向用户请求,作为用户请求的目标的 IP 地址

DIP:Director Server IP

主要用于和内部主机通讯的 IP 地址。

RIP:Real Server IP

后端服务器的 IP 地址。

CIP:Client IP

访问客户端的 IP 地址。

LVS 组成

LVS 由 2 部分程序组成,包括 ipvs 和 ipvsadm。

LVS 的核心组件 ipvs 工作在 kernel 中,是真正的用于实现根据定义的集群转发规则把客户端的请求转发到特定的 real server。而另一个组件 ipvsadm 是工作在用户空间的一个让用户定义 ipvs 规则的工具。

故我们只要在 server 上装了 ipvsadm 软件包就可以定义 ipvs 规则,而在 linux kernel 的 2.6 版本之后 kernel 是直接支持 ipvs 的。

LVS 工作图

① 负载调度器

调度器(Director): 整个集群对外的最前端主机, 负责接收用户请求, 并且根据相关的调度算法, 将请求转发到后端真实服务器上,而客户端认为服务是来自一个 IP 地址(我们可称之为 VIP 虚拟 IP 地址)上的。

② 服务器池: Server Pool

真正为用户提供服务的服务器, 每一台服务器就是一台 RS[RealServer],执行的服务有 WEB、MAIL、FTP 和 DNS 等。

③ 共享存储: Shared Storaged

为 RS 保持相同内容, 提供数据的一致性,也就是说,它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。

LVS 负载均衡算法

针对不同的网络服务和配置需要,LVS 调度器提供多种不同的负载调度算法,其中最常用的算法包括轮询、加权轮询、最少连接、权最少连接和 source hashing 源地址 hash。

负载均衡方式

说明

轮询(rr, RoundRobin)

将收到的访问请求按照顺序轮流分配给集群中的各节点(真实服务器)。

加权轮询(wrr, Weighted RoundRobin)

根据真实服务器的处理能力轮流分配收到的访问请求,它将依据不同 RS 的权重分配任务。权重较高的 RS 将优先获得任务,并且分配到的连接数将比权重较低的 RS 更多。这样可以保证处理能力强的服务器承担更多的访问流量。相同权重的 RS 得到相同数目的连数。

最少连接(lc, Least Connections)

IPVS 表存储了所有的活动的连接。把新的连接请求发送到当前连接数最小的 RS。


加权最少连接(wlc,WeightedLeastConnections)

在服务器节点的性能差异较大的情况下,可以为真实服务器设置权重,权重较高的节点将承担更大比例的活动连接负载。假设各台RS的权重依次为 Wi(i = 1..n),当前的 TCP 连接数依次为 Ti(i=1..n)依次选取 Ti/Wi 为最小的 RS 作为下一个分配RS。

source hashing 源地址 hash(sh)

将来自同一个 ip 的请求始终调度至同一 RS

LVS 优点

① 抗负载能力强:因为 lvs 工作方式的逻辑是非常简单的,而且工作在网络第 4 层,仅作请求分发用,没有流量,所以在效率上基本不需要太过考虑。lvs 一般很少出现故障,即使出现故障一般也是其他地方(如网卡或内核的承载能力已到上限)出现问题导致 lvs 出现问题,内存和 cpu 方面基本无消耗。

② 配置性低:这通常是一大劣势同时也是一大优势,因为没有太多的可配置的选项,所以除了增减服务器,并不需要经常去触碰它,大大减少了人为出错的几率。

③ 工作稳定:因为其本身抗负载能力很强,所以稳定性高,另外各种 lvs 都有完整的双机热备方案,所以一点不用担心负载衡器本身会出什么问题。

④ 无流量:lvs 仅仅分发请求,而流量并不从它本身出去,所以可以利用它这点来做一些线路分流之用。没有流量同时也保住了负载均衡器的 IO 性能不会受到大流量的影响。

⑤ lvs 基本上能支持所有应用:因为 lvs 工作在第 4 层,所以它可以对几乎所有应用做负载均衡,包括 http、数据库等。

LVS 工作模式

LVS 有三种工作模式:NAT,DR,TUN。DR 是三种工作模式中性能最高的,TUN 次之。

  • NAT(Network Address Translation) 即网络地址映射模式
  • DR(Direct Routing) 即直接路由模式
  • TUN(IP Tunneling) 即 IP 隧道模式

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

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

相关文章

Spring5系列学习文章分享---第五篇(事务概念+特性+案例+注解声明式事务管理+参数详解 )

目录 事务事务概念什么是事务事务四个特性(ACID) 搭建事务操作环境Spring 事务管理介绍注解声明式事务管理声明式事务管理参数配置XML 声明式事务管理事务操作(完全注解声明式事务管理)感谢阅读 开篇: 欢迎再次来到 Spring 5 学习…

记一个信息泄露到RCE

打点 开局一个登录框 信息收集 发现了一处接口泄露了部分信息 不过只有支付宝密钥的信息无法扩大危害,此时尝试寻找了一下其他同类型系统同样的接口,查看一下是否泄露的信息相同 因为如果相同就说明是静态的,没有价值横向收集 此时访问其他…

关于我写过那些MySQL专栏

写在文章开头 这是截至今日写过的文章汇总,对于关注笔者公众号有一段时间的读者都知道,笔者会每周对自己写过的文章整理至相关专栏,以便读者可以按需进行检索阅读。 你好,我叫sharkchili,目前还是在一线奋斗的Java开…

无需手动部署3分钟自动化搞定幻兽帕鲁游戏联机服务器搭建与好友一起玩

生存类游戏《幻兽帕鲁》异常火爆,大量玩家遭遇了卡顿、闪退、延迟高的糟糕体验,其实我们玩家也可以选择《幻兽帕鲁》的专用服务器模式,自行搭建服务器和好友畅玩,无需手动部署,3分钟自动化搞定游戏联机服务器搭建。 1…

代码随想录算法训练营第32天(贪心算法02● 122.买卖股票的最佳时机II ● 55. 跳跃游戏 ● 45.跳跃游戏II

贪心算法 part02 122.买卖股票的最佳时机II解题思路 55. 跳跃游戏解题思路 45.跳跃游戏II (来不及了 明天刷解题思路 122.买卖股票的最佳时机II 动态规划章节会重点讲买卖股票问题 本题解法很巧妙,大家可以看题思考一下,在看题解。 题目链接&…

Cybellum—信息安全测试工具

产品概述 由于软件和数据在汽车上的使用越来越多,汽车越来越“智能化”,汽车行业面临着重大的信息安全挑战。2021年8月,ISO/SAE 21434正式发布,标准中对汽车的信息安全提出了规范化的要求,汽车信息安全不容忽视。 Cyb…

HTML 曲线图表特效

下面是代码 <!doctype html> <html> <head> <meta charset"utf-8"> <title>基于 ApexCharts 的 HTML5 曲线图表DEMO演示</title><style> body {background: #000524; }#wrapper {padding-top: 20px;background: #000524;b…

Huggingface上传自己的模型

5.8更新几个比较坑的点 首先如果你的模型太大&#xff08;>5GB&#xff09;&#xff0c;那么需要使用下面的命令声明一下&#xff0c;否则无法push $ huggingface-cli lfs-enable-largefiles ./path/to/your/repo假如使用VScode提交&#xff0c;那么需要注意&#xff0c;在…

博弈论(牛客练习赛)

思路&#xff1a;我们考虑小念赢 1、如果n>1并且p0&#xff0c;小念可以连续取两次&#xff0c;相当于小念有挂&#xff0c;可以从必败态转为必胜态&#xff0c;必赢。 2、如果n>1并且m>n-1&#xff0c;小念第一次取n-1个&#xff0c;小念必赢。 代码&#xff1a; …

OJ_叠框问题

问题描述 c语言实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<string.h> using namespace std;int main() {int n; //存放外框尺寸int a,b; //存放两个字符char matrix[100][100] { 0 };//全部初始化为休止符/0while (scanf("%d %c %c&…

Hive实战 —— 电商数据分析(全流程详解 真实数据)

目录 前言需求概述数据清洗数据分析一、前期准备二、项目1. 数据准备和了解2.确定数据粒度和有效列3.HDFS创建用于上传数据的目录4.建库数仓分层 5.建表5.1近源层建表5.2. 明细层建表为什么要构建时间维度表&#xff1f;如何构建时间维度表&#xff1f; 5.3 轻聚层建表6. 指标数…

2024亚马逊开店教程:开店准备与注册流程指南

随着新一年的到来&#xff0c;亚马逊开启了新一轮的卖家入驻&#xff0c;并且针对新卖家优化了入驻流程&#xff0c;下面为大家简单整理一下最新亚马逊入驻教程&#xff0c;有想要入驻开店的小伙伴速速看过来&#xff01; 一、开店前准备 1、账号环境准备 为了防止账号由于网…