负载均衡集群 LVS

集群

  • 含义:
    • Cluster、集群、群集
    • 多台主机组成一个整体,对外只提供一个访问接口

集群的分类

  • 负载均衡集群(LBC)
    • 提高系统的响应能力、尽可能处理更多的访问请求、以减少延迟为目标,获得高并发、高负载(LB)的整体性能
    • 高负载主要依赖于主节点的分流算法,将来自客户机的请求按照算法分担给多个服务器节点,以此缓解整个系统的负载
  • 高可用集群(HAC)
    • 提高应用系统的可靠性、以尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA) 的容错效果
    • 高可用的工作方式包括双工和主从两种模式,双工即所有节点同时在线;主从则只有主节点在线,但当出现故障时从节点能自动切换为主节点,也就是当出现单点故障时依然可以保持系统的可用性
  • 高性能运算集群(HPCC)
    • 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力
    • 高性能依赖于"分布式运算”、“并行计算” , 通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

负载均衡集群架构

  1. 负载调度器
    1. 是外界访问整个系统的唯一入口,对外使用所有服务器共有的VIP(虚拟IP)地址
  2. 服务器池
    1. 群集所提供的应用服务、由服务器池承担,其中每个节点具有独立的RIP地址(真实IP),只处理调度器分发过来的客户机请求
  3. 共享存储
    1. 为服务器池中的所有节点提供稳定、一致的文件存取服务, 确保整个群集的统一性。共享存储可以使用NAS设备,或者提供NFS共享服务的专用服务器

负载均衡集群工作模式

  • 地址转换(NAT模式)
    • 类负载调度器作为网关,是用户访问请求的入口,也是服务器响应数据的出口。每一次请求响应都需要经过两次调度器,所以在高并发场景下压力巨大,这种方式能提高安全性,因为私网地址不可知
  • IP隧道(TUN模式)
    • 负载调度器仅仅是访问请求的入口,响应数据不再经过调度器,而是服务器通过自己的Internet直接响应给客户。这种方式调度器压力小,但是需要大量公网IP,成本高
  • 直接路由(DR模式)
    • 调度器仅仅是访问请求的入口,响应数据不经过调度器,与TUN模式类似,但是节点服务器和调度器在同一物理网络中,不需要建立专用的IP隧道,减少成本的同时也保证数据不受额外影响

LVS虚拟服务器技术

  • Linux Virtual Server
  • LVS的负载调度算法
    • 轮询(rr)
      • 将请求按照顺序轮流分配给集群中的节点服务器
    • 加权轮询(wrr)
      • 根据调度器设置的权重(weight)来分发请求,权重越高的节点服务器会分配到更多请求
      • 保证性能强的服务器承担更多流量
    • 最少连接数(lc)
      • 根据节点服务器已经建立的连接数进行分配,优先将请求分配给连接数最少的节点
    • 加权连接数(wlc)
      • 在服务器节点的性能差异较大时,可以为节点服务器自动调整权重
      • 保证性能较高的节点将承担更大比例的活动连接负载

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

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

相关文章

【Linux】系统初始化配置

CentOS 7 的虚拟机安装后必须要做的几个操作,记录以下,网络配置修改、yum源安装、基础工具安装: 1、先修改权限,新建普通用户,并授权普通用户apps 的sudo权限; useradd apps password apps visudo apps A…

基于SSM的论文管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

集合框架(二)LinkedList的常见使用

Hi i,m JinXiang ⭐ 前言 ⭐ 本篇文章主要介绍LinkedList的常见使用以及部分理论知识 🍉欢迎点赞 👍 收藏 ⭐留言评论 📝私信必回哟😁 🍉博主收将持续更新学习记录获,友友们有任何问题可以在评论区留言 目…

【小爱学大数据】一个方法调试了一个上午

为了解决一个棘手的问题,我花了整个上午来调试一个“setBulkFlushInterval”的方法。这个方法的主要作用是控制批量数据刷新的时间间隔,以确保数据的及时性和稳定性。但在面对一个复杂的业务场景时,它却表现得不如预期。 我首先分析了代码逻辑…

Vue2问题:如何全局使用less和sass变量?

前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约2400字,整篇阅读大约需要4分钟。 本文主要内容分三部分,如果您只需要解决问题,请阅读第一、二部分即可。如果您有更多时间&#xff…

大一学编程怎么学?刚接触编程怎么学习,有没有中文编程开发语言工具?

大一学编程怎么学?刚接触编程怎么学习,有没有中文编程开发语言工具? 1、大一刚开始学编程,面对复杂的代码学习非常吃力,很难入门。建议刚接触编程可以先学习中文编程,了解其中的编程逻辑,学编程…

Flink流批一体计算(22):Flink SQL之单流kafka写入mysql

1. 准备工作 什么是Kafka源表 Kafka是分布式、高吞吐、可扩展的消息队列服务,广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等大数据领域。 docker部署zookeeper docker pull wurstmeister/zookeeperdocker run -d --restartalways \ --log-dr…

LeetCode [中等]3. 无重复字符的最长子串

3. 无重复字符的最长子串 - 力扣(LeetCode) 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 1. 滑动窗口(Sliding Window): 滑动窗口是一种用于处理数组或列表的子数组或子序列的问题…

Vue实现纯前端导入excel数据

准备工作 - 下载 xlsx npm install xlsx下面直接上代码&#x1f447; <template><div><input type"file" accept".xlsx, .xls" change"handleClick"></div> </template><script langts setup> import * a…

Vue基础入门(四):Vue3快速开发模板

快速开发Vue的解决方案 ​ Vue 的开发需要的 node 环境&#xff0c;其实上在开发的过程中会遇到一些你想不到的问题&#xff0c;比如 npm工具的版本和 node 环境不匹配&#xff08;你把其他项目导入到自己的环境&#xff09; ​ vue-element-admin&#xff08;是一个官方提供…

git仓库如何撤销提交,恢复提交,重置版本命令

撤销提交&#xff1a; 要撤销最近一次提交&#xff08;未推送到远程仓库&#xff09;&#xff0c;可以使用以下命令&#xff1a; git reset HEAD^该命令将会把最后一次提交的修改从当前主分支中移除&#xff0c;并将这些修改的状态保留在本地工作目录中。 如果想要取消所有的…

HuggingFace学习笔记--利用API实现简单的NLP任务

目录 1--中文分类 1-1--使用预训练模型推理 1-2--基于预训练模型实现下游任务 2--中文填空 3--中文句子关系推断 1--中文分类 1-1--使用预训练模型推理 代码实例&#xff1a; import torch from datasets import load_dataset from transformers import BertTokenizer,…

leetCode 216.组合总和 III + 回溯算法 + 剪枝 + 图解 + 笔记

找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回 示例 1: 输入: k 3, n 7 输出: [[1,2,4]] 解释…

kotlin中sealed语句的使用

sealed 密封类是 Kotlin 中的一种特殊类别&#xff0c;它的主要作用是限制类的继承结构。密封类用于表示受限的类继承结构&#xff0c;即一个值只能有有限几种类型&#xff0c;而不能有任意类型。密封类通常用于表示一种有限集合的类型。 下面是密封类的主要特性和作用&#x…

pinia从入门到使用

pinia: 比vuex更适合vue3的状态管理工具&#xff0c;只保留了vuex 原有的 state, getters&#xff0c;actions 作用等同于 data computed methods&#xff0c;可以有多个 state 1.安装创建导入 安装&#xff1a;npm install pinia 或 yarn add pinia 创建stores/index.js inde…

Springboot2+WebSocket

一、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency> 二、添加配置 新增配置文件 config/WebSocketConfig.java import org.springframewo…

Jmeter接口测试和性能测试

目前最新版本发展到5.0版本&#xff0c;需要Java7以上版本环境&#xff0c;下载解压目录后&#xff0c;进入\apache-jmeter-5.0\bin\&#xff0c;双击ApacheJMeter.jar文件启动JMemter。 1、创建测试任务 添加线程组&#xff0c;右击测试计划&#xff0c;在快捷菜单单击添加-…

插入或更新学生信息的 SQL 语句

#! https://zhuanlan.zhihu.com/p/667794849 插入或更新学生信息的 SQL 语句 INSERT INTO student_info_table (id, name, age, gender, major, grade, attendance_state, last_attendance_time ) VALUES (?, ?, ?, ?, ?, ?, ?, ?) ON DUPLICATE KEY UPDATEname VALU…

【Python百宝箱】探索Python科学绘图宝库:交互与美学并存

前言 Python作为一种强大的编程语言&#xff0c;在数据科学领域展现出了巨大的优势。数据可视化作为数据科学的重要组成部分&#xff0c;为数据分析和解释提供了有力的工具。本文将深入探讨多个Python库&#xff0c;这些库不仅提供了丰富的绘图功能&#xff0c;而且能够满足不…

VSCode Vue 开发环境配置

Vue是前端开发中的重要工具与框架&#xff0c;可以保住开发者高效构建用户界面。 Vue2官方文档&#xff1a;https://v2.cn.vuejs.org/ Vue3官方文档&#xff1a;https://cn.vuejs.org/ Vue的安装和引用 Vue2的官方安装指南&#xff1a;https://v2.cn.vuejs.org/v2/guide/ins…