网络安全 | 什么是负载均衡器?

负载均衡器

关注WX: CodingTechWork

介绍

  1. 负载均衡是在多个服务器之间有效分配网络流量的过程。
  2. 负载均衡的目的是优化应用程序的可用性,并确保良好的终端用户体验。
  3. 负载均衡可协助高流量网站和云计算应用程序应对数百万个用户请求,从而保证客户请求不会出现延迟。

优势

可用性

  1. 负载均衡器在将请求路由到服务器之前会对服务器执行运行状况检查。
  2. 如果一台服务器即将出现故障,或者因维护或升级而处于脱机状态,负载均衡会自动将工作负载重新路由到正在运行的服务器,以避免服务中断并保持高可用性。

可扩展性

  1. 负载均衡支持按需、高性能的基础架构,可以处理最重或最轻的网络流量负载。
  2. 负载均衡器可以根据需要添加或删除物理服务器或虚拟服务器,从而使可扩展性变得简单且自动化。

安全性

  1. 负载均衡器可以包括 SSL 加密、Web 应用程序防火墙 (WAF) 和多重身份验证 (MFA) 等安全功能。
  2. 负载均衡器还可以合并到应用程序交付控制器 (ADC) 中以提高应用程序安全性。通过安全地路由或卸载网络流量,负载均衡可以帮助防御分布式拒绝服务 (DDoS) 攻击等安全风险。

原理

  1. 负载均衡可以通过多种方式实现,如硬件和软件负载均衡。
  2. 硬件负载均衡器是在本地安装和维护的物理设备。
  3. 软件负载均衡器是安装在私有服务器上的应用程序或作为托管云服务(云负载均衡)提供的应用程序。
  4. 负载均衡器的工作原理都是实时调解传入的客户端请求,并确定哪些后端服务器最有能力处理这些请求。为了防止单台服务器过载,负载均衡器会将请求路由到本地或服务器场或云数据中心中托管的任意数量的可用服务器。
  5. 分配的服务器收到请求后,将通过负载均衡器响应客户端。然后,负载均衡器通过将客户端的 IP 地址与所选服务器的 IP 地址进行匹配来完成服务器到客户端的连接。然后,客户端和服务器就能够通信并执行请求的任务,直到会话完成。
  6. 如果网络流量出现峰值,负载均衡器可能会使更多服务器联机以满足需求。或者,如果网络活动停滞,负载均衡器可能会减少可用服务器池。它还可以通过将流量路由到缓存服务器来协助网络缓存,在缓存服务器上临时存储之前的用户请求。

算法

循环法

  1. 该算法使用域名系统 (DNS) 以连续轮换的方式将请求按顺序分配给每个服务器。
  2. 循环法是最基本的负载均衡方法,因为它只使用每个服务器的名称来决定哪个服务器将接收下一个传入请求。

加权循环法

  1. 该算法中的每个服务器还被分配了一个“权重”。
  2. 权重决定哪些服务器应优先于其他服务器来处理传入请求。
  3. 管理员根据每台服务器的容量和网络需求决定如何对其进行加权。

IP散列

  1. 计算将传入请求的 IP 地址简化(或散列)为称为散列键的较小值。
  2. 使用这个唯一的散列键(代表用户的 IP 地址)作为决定如何将请求路由到特定服务器的基础。

最少连接数

  1. 当收到新的客户端请求时,该算法会优先考虑活动连接数最少的服务器。
  2. 此方法有助于防止服务器连接过载,并始终保持服务器之间的负载一致。

最短响应时间

  1. 该算法结合了最少连接数方法和最短服务器平均响应时间。
  2. 将评估连接数以及服务器执行请求和发送响应所需的时间。
  3. 活动连接最少的最快服务器将收到传入请求。

类型

网络负载均衡器

  1. 网络负载均衡器可优化局域网和广域网之间的流量并减少延迟。
  2. 它们使用 IP 地址和目标端口等网络信息以及 TCP 和 UDP 协议来路由网络流量,并提供足够的吞吐量来满足用户需求。

应用程序负载均衡器

  1. 这些负载均衡器使用 URL、SSL 会话和 HTTP 头等应用程序内容来路由 API 请求流量。
  2. 由于多个应用程序服务器中存在重复的功能,因此检查应用程序级内容有助于确定哪些服务器可以快速可靠地满足特定请求。

虚拟负载均衡器

  1. 随着虚拟化和 VMware 技术的兴起,虚拟负载均衡器现在被用来优化服务器、虚拟机和容器之间的流量。
  2. Kubernetes 等开源容器编排工具提供虚拟负载均衡功能,可在集群中容器的节点之间路由请求。

全局服务器负载均衡器

  1. 这种类型的负载均衡器将流量路由到多个地理位置的服务器,以确保应用程序的可用性。
  2. 用户请求可以分配到最近的可用服务器(近源),或者如果服务器出现故障,则可以分配到具有可用服务器的另一个位置。
  3. 这种故障转移功能使全局服务器负载均衡成为灾难恢复的重要组成部分。

参考:https://developer.ibm.com/

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

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

相关文章

转让1000万不良资产处置公司包变更需要多久

随着经济的发展和市场的变化,越来越多的公司需要进行资产的处置和转让,以提言公司的效益和盈利。山东不良资产处置公司作为一家专门服务于资产处置和转让的企业,其流程与变更步骤对于资产转让的操作至关重要。可以致电咨询我或者来公司面谈。…

Leetcode - 127双周赛

目录 一,3095. 或值至少 K 的最短子数组 I 二,3096. 得到更多分数的最少关卡数目 三,3097. 或值至少为 K 的最短子数组 II 四,3098. 求出所有子序列的能量和 一,3095. 或值至少 K 的最短子数组 I 本题需要知道一个知…

「每日跟读」英语常用句型公式 第3篇

「每日跟读」英语常用句型公式 第3篇 1. I don’t know how to ____ 我不知道如何_____ I don’t know how to play soccer (我不知道怎么踢足球) I don’t know how to study(我不知道如何学习) I don’t know how to play chess (我不知道如何下国…

mysql 安装与连接

关系型数据库 SQL: MySql Oracle 非关系型数据库 NoSql : redis MangoDB 关系型数据库有局限性,它的局限性由非关系型数据库弥补。 手机端常用的数据库是:SqlLite mysql下载 https://www.mysql.com/ 社区版本(免费) -> 推荐第二种方式 安装 …

Java_自定义实体类的列表List<T>调用remove()失败讲解

示例1 前提: 新建一个主类Demo1。 需求: 在一个列表中有三条String的数据,想要使用remove(Object o)删掉其中一条。 结果: remove(Object o)成功把数据删掉。 示例2 前提: 新建一个自定义实体类DataExample和一个主…

使用Vite创建一个vue3项目

一、vite是什么? vite 是一种新型前端构建工具,能够显著提升前端开发体验。它主要由两部分组成: 一个开发服务器,它基于原生 ES 模块提供了丰富的内建功能,如速度快到惊人的模块热更新(HMR)。 …

页面静态化:Freemarker入门案例和常用指令教程

页面静态化其实就是将原来的动态网页(例如通过ajax请求动态获取数据库中的数据并展示的网页)改为通过静态化技术生成的静态网页,这样用户在访问网页时,服务器直接给用户响应静态html页面,没有了动态查询数据库的过程。 那么这些静态HTML页面…

MySql 实战大数据查询-(表分区实现)

一 mysql分区: 分区是将单个表按照某种规则划分成多个子集,每个子集称为一个分区。常见的分区策略包括按照时间范围、范围值、列表等进行分区。 优点: 查询性能更好,涉及分区键的查询,数据库引擎可以只扫描特定分区&…

【Qt 学习笔记】使用两种方式实现helloworld

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 使用两种方式实现helloworld 文章编号:Qt 学习笔记 / 05 …

14.信号量

一、信号量的简介 信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。其中,“同步”指的 是任务间的同步,即信号量可以使得一个任务等待另一个任务完成某件事情后,才继续执行; 而“有序访问”指的是对被…

【资源分享】Eclipse最新版本免费安装下载

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验,帮助大家尽早适应研究生生活,尽快了解科研的本质。祝一切顺利!—…

计算机网络——33多点访问协议

多点访问协议 多路访问链路和协议 两种类型的链路(一个子网内部链路连接形式) 点对点 拨号访问的PPP以太网交换机和主机之间的点对点链路 广播 传统以太网HFC上行链路802.11无线局域网 多路访问协议 单个共享的广播型链路 2个过更多结点同时传送&am…