您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

高性能负载均衡知识点

时间:2019-10-24 09:49:05  来源:  作者:
高性能负载均衡知识点

 

高性能负载均衡

分类及架构

高性能集群的复杂度主要体现在需要增加一个任务分配器,以及为任务选择一个合适的任务分配算法,负载均衡不只是为了计算单元的负载达到均衡状态

负载均衡分类

DNS负载均衡

是最简单也是最常见的负载均衡方式,一般用来实现地理级别的均衡

优点

简单、成本低:负载均衡工作交给DNS服务器处理,无须自己开发或者维护负载均衡设备

就近访问,提升访问速度:DNS解析时可以根据请求来源IP,解析成距离用户最近的服务器地址,可以加快访问速度,改善性能

缺点

更新不及时:DNS缓存的时间比较长,修改DNS配置后,由于缓存的原因,还有很多用户会继续访问修改前的IP,这样的访问会失败

分配策略比较简单:DNS负载均衡支持的算法少;不能区分服务器差异,也无法感知后端服务器的状态

硬件负载均衡

通过单独的硬件设备来实现负载均衡功能。业界典型设备有F5和A10

优点

功能强大:全面支持各层级的负载均衡,支持全面的负载均衡算法,支持全局负载均衡

性能强大:可以支持100万以上的并发(软件一般能支持到10万级)

稳定性高:商用硬件负载均衡,经过了良好的严格测试,经过大规模使用,稳定性高。

支持安全防护:硬件均衡设备除具备负载均衡功能外,还具备防火墙,防DDoS攻击等安全功能

缺点

价格昂贵

扩张能力差:硬件设备,可以根据业务进行配置,但无法进行扩展和定制

软件负载均衡

通过负载均衡软件来实现负载均衡功能,常见的有Nginx和LVS,其中Nginx软件的7层负载均衡,LVS是linux内核的4层负载均衡。4层和7层的区别在于协议和灵活性,nginx支持HTTP、E-mail协议;而LVS是4层负载均衡,和协议无关,几乎所有应用都可以做,例如,聊天,数据库等

优点

简单:无论是部署还是维护都比较简单

便宜:只要买个Linux服务器,装上软件即可

灵活:

4层和7层负载均衡可以根据业务进行选择;也可以根据业务进行比较方便的扩展,例如可以通过Nginx的插件来实现业务的定制化功能

缺点

性能一般,功能没有硬件负载均衡那么强大

一般不具备防火墙和防DDoS攻击等安全功能

算法

算法期望达到的目的分类

任务平分类

负载均衡系统将收到的任务平均分配给服务器进行处理,平均可以是绝对数量的平均,也可以是比率或者权重上的平均

负载均衡类

负载均衡系统根据服务器的负载来进行分配。负载值系统当前的压力,可以是cpu负载、连接数、IO使用率,网卡吞吐量等

性能最优类

负载均和系统根据任务中的某些关键信息进行Hash运算,将相同Hash值的请求分配给响应最快的服务器

Hash类

负载均衡系统将任务中的的某些关键信息进行Hash运算,将相同Hash值的请求分配到同一台服务器。常见的又源地址Hash、目标地址Hash、session ID Hash、用户ID Hash等

轮询

负载均衡系统收到请求后,按照顺序轮流分配到服务器上。轮询是最简单的一个策略,无须关注服务器本身的状态。只要服务器在运行,运行状态是不关注的

加权轮询

负载均衡系统根据服务器权重进行任务分配,这里的权重一般是根据硬件配置进行静态配置的,采用动态的方式会更加契合业务,但是复杂度也会更高

主要目的是解决不同服务器处理能力有差异的问题,但同样存在无法根据服务器状态的差异进行任务分配的问题

负载最低优先

负载均衡系统将任务分配给当前负载最低的服务器,这里的负载根据不同任务类型和业务场景,可以有不同的指标来衡量

不同的指标衡量

LVS这种4层网络负载设备,可以以“连接数”来判断服务器的状态,服务器连接数越大,表明服务器压力越大

nginx这种7层网络负载系统,可以以“HTTP请求数”来判断服务器状态

负载最低优先的算法解决来轮询算法中无法感知服务器状态的问题,由此带来的代价是复杂度增加很多

最少连接数优先的算法邀请负载均衡系统统计每个服务器当前建立的连接,其应用场景仅限于负载均衡接收的任何连接请求都会转给服务器进行处理,否则如果负载均衡系统和服务器之间是固定的连接池方式,就不适合采取

CPU负载最低优先的算法邀请负载均衡系统以某种方式收集每个服务器的CPU负载,而且要确定以多少时间间隔为标准,时间间隔太短容易造成波动,太长可能造成峰值来临时响应缓慢

负载最低优先算法基本上能够比较完美地解决轮询算法的缺点,因为采用这种算法后负载均衡算法需要感知服务器当前运行状态。但其代价是复杂度大幅上升,如果算法本身没有设计好,算法本身可能成为系统瓶颈。所以负载最低优先算法虽然效果看起来美好但实际上真正应用的场景反而没有轮询那么多

性能最优类

负载最低优先类算法是站在服务端的角度来进行分配的,性能最优优先算法是站在客户端的角度来进行分配的,优先将任务分配给处理速度最快的服务器,通过这种方式达到最快响应客户端的目的

性能最优优先类算法本质上也是感知类服务器的状态,只是通过响应时间这个外部标准来衡量服务器状态

存在问题复杂度都很高

需要收集和分析每个服务器每个任务的响应时间,在大量任务处理的场景下,这种收集和统计本身也会消耗较多的性能

为降低性能可采取采样方式统计,但复杂度进一步提升,因为要确定合适的采样率,采用太低导致结果不准确,太高性能消耗较大

无论是全部统计还是采样统计,都需要选择合适的周期,但也是一件比较复杂的事情

Hash类

负载均衡系统根据任务中的某些关键信息进行Hash运算,将相同Hash值的请求分配到同一台服务器上

源地址Hash

将来源同一个源IP地址的任务分配给同一个服务器处理,适用于存在事务,会话的业务。例如;当我们通过浏览器登陆时会生成一个会话信息,这个会话是临时的,浏览器关掉后就失效,但需要保证用户在会话存在期间,每次都能访问到同一个服务器。

ID Hash

将某个ID标识的业务分配到同一个服务器中进行处理,这里的ID一般是临时性数据的ID(如sessionId)用户每次访问到同一台服务器的目的

————————————————

版权声明:本文为CSDN博主「star245」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/star245/article/details/102641299



Tags:负载均衡   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
负载均衡是将客户端请求访问,通过提前约定好的规则转发给各个server。其中有好几个种经典的算法,下面我们用Java实现这几种算法。 轮询算法轮询算法按顺序把每个新的连接请求...【详细内容】
2021-09-27  Tags: 负载均衡  点击:(52)  评论:(0)  加入收藏
什么是NginxNginx(engine x)是一个高性能的HTTP和反向代理服务器,具有内存少,高并发特点强。1、处理静态文件,索引文件以及自动检索打开文件描述符缓冲2、无缓冲的反向代理加速...【详细内容】
2021-09-02  Tags: 负载均衡  点击:(70)  评论:(0)  加入收藏
1.安装依赖环境yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpn...【详细内容】
2021-08-03  Tags: 负载均衡  点击:(63)  评论:(0)  加入收藏
域名解析是客户端访问系统的第一步。在架构设计中,DNS Server除了解析域名,还能干点什么呢?又有哪些“挖坑”的用法需要避免呢?典型的互联网架构中,我们通过nginx的反向代理来做...【详细内容】
2021-07-29  Tags: 负载均衡  点击:(264)  评论:(0)  加入收藏
均衡算法也是多种多样,常见的两大类:即静态负载均衡法和动态负载均衡法。静态算法也是比较简单,主要有有一般轮询算法,基于比例的加权轮询算法,以及基于优先级的轮询算法。动态算...【详细内容】
2021-07-27  Tags: 负载均衡  点击:(72)  评论:(0)  加入收藏
今天总结一下负载均衡中LVS与Nginx的区别,好几篇博文一开始就说LVS是单向的,Nginx是双向的,我个人认为这是不准确的,LVS三种模式中,虽然DR模式以及TUN模式只有请求的报文经过Director,但是NAT模式,Real Server回复的...【详细内容】
2021-06-08  Tags: 负载均衡  点击:(114)  评论:(0)  加入收藏
之前有很多朋友问关于 Nginx 的 upstream 模块中 max_fails 及 fail_timeout,这两个指令,分别是配置关于负载均衡过程中,对于上游(后端)服务器的失败尝试次数和不可用时间,很多...【详细内容】
2021-04-15  Tags: 负载均衡  点击:(206)  评论:(0)  加入收藏
需求在Linux SMP(对称多处理器)环境下,每个CPU对应一个run_queue(可执行队列)。如果一个进程处于TASK_RUNNING状态(可执行状态),则它会被加入到其中一个run_queue(且同一时刻仅会被加...【详细内容】
2021-04-01  Tags: 负载均衡  点击:(225)  评论:(0)  加入收藏
分层模型,每一层实现各自的功能和协议,并完成与相邻层的接口通讯。OSI 的服务定义详细说明了各层所提供的服务,某一层的服务就是该层及其下各层的一种能力,通过接口提供给更高一层。各层所提供的服务与这些服务是怎么实现...【详细内容】
2021-03-16  Tags: 负载均衡  点击:(257)  评论:(0)  加入收藏
Nginx的安装及负载均衡配置在安装完分布式文件系统之后,就可以在应用程序中进行调用了。注意需要在 Web端的页面上进行访问,还必须借助Nginx 提供访问服务。使用Nginx 不仅可...【详细内容】
2021-03-11  Tags: 负载均衡  点击:(159)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条