首页 > 其他分享 >负载均衡(Load balancing)SLB

负载均衡(Load balancing)SLB

时间:2023-10-09 12:31:58浏览次数:129  
标签:Load 负载 轮询 流量 balancing 小云 均衡 服务器 SLB

什么是负载均衡?

负载均衡(Load balancing)是指在计算机网络领域中,将客户端请求分配到多台服务器上以实现带宽资源共享优化资源利用率提高系统性能的技术。负载均衡可以帮助小云有效解决单个服务器容量不足或性能瓶颈的问题,小云通过平衡流量负载,使得多台服务器能够共同完成请求处理,并且实现高可用性和高可靠性的服务。

 

负载均衡通常采用硬件设备或是软件来实现,硬件负载均衡器通过专用硬件设备分发流量,而软件负载均衡器则通过对流量进行转发和控制来实现负载均衡。不管小云使用硬件负载还是软件负载均衡都可以根据不同的调度算法来选择服务器,例如轮询、最少连接数、加权轮询等方式来平衡负载。

  • 企业中的负载均衡通常工作在OSI七层模型的四层(传输层)和七层(应用层)

提示:OSI七层网络模型从第一层到第七层分别为物理层,数据链路,网络层,传输层,会话层,表示层和应用层,是用于计算机或通信系统间互联的标准体系。

  • 四层负载均衡通常用于TCP/UDP协议,例如小云有一个业务集群工作在TCP的2000端口号上,需要通过负载均衡将其发布出去,此时小云的需求就是基于端口号的负载均衡,小云只需要在负载均衡上开通TCP的2000即可。
  • 七层负载均衡通常用于HTTP/HTTPS的Web服务,如果小云有一个网站需要被外部所访问到,网站是一种典型的七层服务,此时小云就需要在负载均衡上开通HTTP协议的80端口。

负载均衡(Load balancing)SLB_调度算法

思考:既然硬件和软件都能实现负载均衡,那使用硬件或软件负载均衡的区别是什么?

如果通过专用硬件实现负载均衡,那么整体成本会较高,而且设备容易出现单点故障,一旦设备故障,所有通过此设备分发流量的业务都会瘫痪,用户就无法访问到这些业务,而且因为成本高昂,小型企业往往很难接受这些价格,所以中小企业会选择软件负载均衡,但是使用软件负载均衡也有一些缺点,软件负载均衡需要额外占用服务器,安装配置管理、监控相对复杂,需要比较专业的运维工程师,技术投入较大

高可用业务,往往会有“两地三中心”的部署方式,也就是说将业务部署到两个城市的三个机房中,规避某个机房失效,带来的业务停滞

负载均衡(Load balancing)SLB_SLB_02

负载均衡(Load balancing)SLB_轮询_03

负载均衡器SBL:

  • 当多个并发请求同时发起访问时,负载均衡根据一定的算法(轮询、加权轮询、一致性哈希),将流量合理的分配到后端多个主机上,进行流量分摊,从而解决了特定的一台主机承接所有流量导致用户体验不佳的问题,
  • 在负载均衡上启用了健康检查功能之后,可以在后台服务器出现故障无法提供服务时,确保不会再有流量进入此服务器,保障了用户访问的连续性,提升了用户体验,
  • 开启了会话保持之后,可以在一定的时间内,始终由一台机器为某用户完全后续请求,通过把特定的用户在一定时间内留在同一个机器上的方法,确保了用户体验的一致性。

负载均衡(Load balancing)SLB_SLB_04

思考:应该在什么情况下选择哪一种流量调度方法呢?

  • 轮询调度:当小云所有的ECS云服务器硬件规格和带宽全部相同时,小云应采用轮询调度算法,避免流量分发不均匀造成服务器压力不均衡的情况发生。
  • 加权轮询调度:当小云的ECS云服务器以及带宽并不完全相同时,小云应采用加权轮询调度算法,给不同配置的ECS云服务器不同的权重值,配置高的机器权重值高,配置低的机器权重指低,以实现整体压力的均衡。
  • 一致性哈希调度:当小云希望将请求均匀地分配到不同的服务器节点上,避免某一台服务器过于忙碌导致用户体验下降、希望通过将用户的公网IP哈希后对服务器匹配时或服务器故障时减少整体架构抖动时,小云应采用一致性哈希调度算法

负载均衡(Load balancing)SLB_调度算法_05

标签:Load,负载,轮询,流量,balancing,小云,均衡,服务器,SLB
From: https://blog.51cto.com/u_7575433/7772347

相关文章

  • NetCore Ocelot 之 Load Balancer
    OcelotcanloadbalanceacrossavailabledownstreamservicesforeachRoute.ThismeansyoucanscaleyourdownstreamservicesandOcelotcanusethemeffectively.TheTypeofloadbalanceravailbleare:  LeastConnection -trackswhichservicearedeal......
  • recursion is detected during loading of “cv2” binary extensions
    报错如下importError:ERROR:recursionisdetectedduringloadingof“cv2”binaryextensions.CheckOpenCVinstallation.使用版本linux需要使用无头版本4.7.0.72python3.8opencv-python==4.7.0.72;sys_platform!="linux"opencv-python-headless4.7.0.72;sys_p......
  • Mysql 8.0 Navicat连接Mysql报错Authentication plugin ‘caching_sha2_password‘ ca
    1、终端登陆MySQL$mysql-uroot-ppassword#登入mysql2、修改账户密码加密规则并更新用户密码ALTERUSER'root'@'localhost'IDENTIFIEDBY'123456'PASSWORDEXPIRENEVER;#修改加密规则ALTERUSER'root'@'localhost'IDENTIFIEDWITHmysql_nat......
  • [极客大挑战 2019]Upload
    原理文件上传MIME和文件头的检测php的多种后缀木马连接解题过程进入靶场,应该就是上传漏洞然后连接木马即可。先上传个正常文件名的文件然后抓包,我上传个正常jpg文件还冤枉我??先把文件内容删了。MIME信息和文件头信息换换换成png还是不行,试试gif格式终于可以了--,现在给......
  • Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19:
    本人使用centos:7.6.1810及Miniconda3-py311_23.5.2-0-Linux-x86_64默认状态下应该没有这个问题。当在使用conda下载包时,如果不小心更新了涉及conda-libmamba-solver和libarchive的包,就可能会导致这个报错消息出现。Errorwhileloadingcondaentrypoint:conda-libmamb......
  • [架构之路-25]:目标系统 - 系统软件 - bootloader uboot内存映射与启动流程
    原文:https://blog.csdn.net/HiWangWenBing/article/details/127062057目录第1章uboot概述1.1概述1.2内存映射(案例)1.3uboot在嵌入式系统启动中的位置第2章uboot启动流程(源码分析)2.1入口函数:_start2.3执行流程(文字描述)2.4初始化过程第3章uboot如何加载内核3.1v......
  • Unable to load site GPT
     001、问题 GPT官网无法打开,如下:  002、解决方法   参考:https://laowangblog.com/chatgpt-unable-to-load-site.html.......
  • S32Kxxx bootloader 之 LIN UDS bootloader
    了解更多关于bootloader的C语言实现,请加我Q扣:1273623966(验证信息请填bootloader),欢迎咨询或定制bootloader(在线升级程序)。LIN总线是汽车ECU使用比较多的一种总线,车灯,车门,汽车空调控制面板等等ECU都有在使用.而这些ECU离线升级时,就需要使用到LINbootloader,O......
  • Module build failed (from ./node_modules/css-loader/dist/cjs.js): CssSyntaxError
    问题描述在webpack的时候报错ERRORin./packages/theme-chalk/mixins/mixins.scss(./node_modules/css-loader/dist/cjs.js!./packages/theme-chalk/mixins/mixins.scss)Modulebuildfailed(from./node_modules/css-loader/dist/cjs.js):CssSyntaxError(14:8)......
  • GroovyClassLoader的简单使用
    前言GroovyClassLoader也是Java的一个类加载器实现,它可以将一段源码解析为Class。xxl-job中的GlueFactory就使用了此类加载器来支持GLUE运行模式(任务以源码方式维护在调度中心,支持通过WebIDE在线更新,实时编译和生效,因此不需要指定JobHandler)。使用添加maven依赖<dep......