Redian新闻
>
负载均衡的初学者指南 | Linux 中国

负载均衡的初学者指南 | Linux 中国

科技
 
导读:负载均衡就是将资源分配到某一时刻最需要它的地方。                                   
本文字数:2213,阅读时长大约:4分钟

当个人电脑刚开始发展的时候,一个家庭可能只有一台(或更少)的电脑。孩子们白天玩电脑游戏,家长们晚上在业务支撑系统上做会计、编程,或者漫游。然而,想象一下今天一个只有一台电脑的家庭,你可以预想到这样会产生什么样的冲突。每个人都想使用电脑,而只有一副键盘和鼠标。

随着计算机变得越来越普遍,IT 行业或多或少也出现了同样的情况。对服务和服务器的需求已经增长到了会因为用量过大而停机的程度。幸运的是,我们现在有了负载均衡的概念来帮助我们处理需求。

负载均衡是什么?

负载均衡是一个通用术语,指的是为了确保高效分配所管理的资源而做的事情。对于 Web 服务器的系统管理员来说,负载均衡通常意味着确保 Web 服务器软件(例如 Nginx🔗 opensource.com)配置了足够的工作节点来处理激增的访客。换言之,如果一个网站突然变得非常受欢迎,其访问者在几分钟内增加了四倍,那么运行服务器的软件必须能够响应每个访问者,并不能让任何访问者发现服务质量下降。对于简单的网站,这就像修改一行配置选项一样简单,但对于具有动态内容的复杂站点,每个用户都有多个数据库查询,这可能是一个严重的问题。

这个问题本应随着云计算的发展而解决,但当 Web 应用程序遇到意外激增时,无法扩展也不是不可能。

在进行负载均衡时,需要记住的重要一点是,高效地分配资源并不一定意味着平均地分配资源。并非所有任务都在任何时候都需要所有的可用资源。一个智能的负载均衡策略仅在需要资源时才为用户和任务提供资源。这通常是应用程序开发人员的领域,而不是 IT 基础架构的责任。异步应用程序对于确保离开计算机休息的用户不占用服务器上的宝贵资源至关重要。

负载均衡是怎么工作的?

负载均衡通过在多个计算节点上分配工作负载来避免瓶颈。这些节点可能是数据中心中的物理服务器、云环境中的容器、用于边缘计算而战略性放置的服务器、复杂应用程序框架中的独立 Java 虚拟机(JVM),或在单个 Linux 服务器上运行的守护进程。

这个想法是把一个大问题分成几个小任务,并把每个任务分配给一台专用计算机。例如,对于一个要求用户登录的网站,该网站可能托管在服务器 A 上,而登录页面和所有随附的身份验证查询都托管在服务器 B 上。这样,新用户登录帐户时就不会占用其它使用该站点的用户的资源。

云计算负载均衡

云计算使用 容器🔗 opensource.com,因此通常没有单独的物理服务器来处理不同的任务(实际上,有许多单独的服务器,但它们被聚集在一起作为一个计算“大脑”)。相反,“容器荚(pod)” 是由几个容器创建的。当一个容器荚由于其用户或任务负载而开始耗尽资源时,会生成一个相同的容器荚。容器荚共享存储和网络资源,每个容器荚在创建时被分配给一个计算节点。可以根据负载需要创建或销毁容器荚,这样无论有多少用户,用户都可以体验到一致的服务质量。

边缘计算

边缘计算🔗 opensource.com 在负载均衡时考虑到了现实世界。云计算自然是一个分布式系统,但实际上,云计算的节点通常集中在几个数据中心。用户离运行云计算的数据中心越远,他们为获得最佳服务所必须克服的物理障碍就越多。即使有光纤连接和适当的负载均衡,位于 3000 英里外的服务器的响应时间也可能比仅仅 300 英里外的响应时间长。

边缘计算将计算节点带到云计算的“边缘”,试图弥合地理鸿沟,为云计算形成一种卫星网络,因此它也在良好的负载均衡工作中发挥了作用。

什么是负载均衡算法?

有许多负载均衡策略,它们的复杂性取决于所涉及的技术和需求。负载均衡不必复杂,而且从一开始就负载均衡很重要,即使在使用 Kubernetes🔗 opensource.com 和 Keepalived🔗 www.redhat.com 这样的专用软件时也是如此。

当你可以设计应用程序,自己为它采取简单的预防措施时,不要依赖容器来均衡负载。如果你从一开始就将应用程序设计为模块化和临时性的,那么你将受益于通过巧妙的网络设计、容器编排和其他未来技术带来的负载均衡机会。

可以指导应用程序开发人员或网络工程师工作的一些流行算法包括:

◈ 按顺序将任务分配给服务器(这通常被称为轮询调度)。
◈ 将任务分配给当前最不繁忙的服务器。
◈ 将任务分配给具有响应最快的服务器。
◈ 随机分配任务。

举个例子,在分配特别复杂的任务时,可以组合或加权这些原则以分配到组中最强大的服务器。通常使用 编排🔗 opensource.com,这样管理员就不必为负载均衡寻找完美的算法或策略,尽管有时需要由管理员选择使用哪种负载均衡方案组合。

预料意料之外

负载均衡实际上并不是要确保在整个网络中均匀使用所有资源。负载均衡实际上是确保即使发生意外情况也能提供可靠的用户体验。良好的基础设施可以承受计算机崩溃、应用程序过载、网络流量冲击和用户错误。思考你的服务如何才能具有弹性,并从头开始相应地设计负载均衡策略。


via: https://opensource.com/article/21/4/load-balancing

作者:Seth Kenlon 选题:lujun9972 译者:FYJNEVERFOLLOWS 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出


LCTT 译者 :FYJNEVERFOLLOWS
🌟🌟
翻译: 5.0 篇
|
贡献: 153 天
2022-05-07
2022-10-06
https://linux.cn/lctt/FYJNEVERFOLLOWS
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
老钱:是可忍,孰不可忍!7 个基于 Fedora Linux 的最佳发行版 | Linux 中国Linux 优先的 AI 图像提升器 Upscayl 发布了第一个版本 | Linux 中国从负载均衡到路由,微服务应用现场一键到位5 款适用于 Linux 的笔记应用 | Linux 中国在 Linux 中创建 LVM 分区的分步指南 | Linux 中国Blackbox:极简主义 Linux 用户的美观终端 | Linux 中国运维必学:一文看懂全局负载均衡与 CDN 内容分发如何使用 Linux sed 命令自动进行文件编辑 | Linux 中国微软决定放弃 Teams 的 Linux 应用,而用渐进式网页应用取代 | Linux 中国Rosalía 登意大利版《VOGUE》封面!速领!清华大学出品3.0《元宇宙报告》!初学者也能秒看懂在 Manjaro 和其他基于 Arch Linux 的发行版上安装 Spotify | Linux 中国[汽车] 最均衡的911?--2022款992gts提车&3000英里分享Linux 的版本号和 520 | Linux 中国关于 Linux 和 Git 的创造者 Linus Torvalds 的 20 件趣事 | Linux 中国“作弊”:只需要知道这一个 Linux 命令就够了 | Linux 中国Tuxedo 已对所有用户开放基于 Ubuntu 的 TUXEDO OS | Linux 中国3 个可在 Linux 上玩旧 NES 游戏的 NES 模拟器 | Linux 中国如何在 Linux 中更改 GRUB 主题 | Linux 中国Sunamu:在 Linux 桌面上显示当前播放音乐的歌词 | Linux 中国2022年夏的家园:球兰开花夏走英伦D24-D25 约克如何在 Arch Linux 中安装 OpenOffice(新手指南) | Linux 中国2699起售的iQOO Neo7,可能是这个价位最均衡的手机。满血复活,台海激战4小时(二十六)图解如何升级到 Linux Mint 21 | Linux 中国解密负载均衡技术和负载均衡算法渔歌子(2):蛙竞唱, 月朦胧如何在 Linux 中实时监控日志文件(桌面和服务器) | Linux 中国如何高效实现矩阵乘?万文长字带你从CUDA初学者的角度入门Kali Linux 2022.3 发布 | Linux 中国在 Linux 中使用 Etcher 创建可启动 USB – 下载和使用指南 | Linux 中国在 Linux 上截屏的 3 种方法 | Linux 中国桌面 Linux 市场份额(2022 年 7 月) | Linux 中国
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。