您当前的位置:首页 > 电脑百科 > 安全防护 > 服务器/网站

高并发必备,5种负载均衡的方法

时间:2019-12-27 09:58:18  来源:  作者:

在软件架构设计过程中,解决软件高并发问题,软件可用性,及软件伸缩性等,最好的解决方案就是服务器进行集群,然后负载均衡转发了。那么负载均衡有哪几种方案可供选择,各自的又有什么优缺点了?

一、HTTP重定向负载均衡

HTTP重定向服务器是一台 普通的应用服务器,其唯一的功能就是根据用户的HTTP请求计算一台真实的Web服务器地址,并将该Web服务器地址写入HTTP重定向响应中(响应状态码302 )返回给用户浏览器,浏览器再根据响应的地址进行请求。

 

高并发必备,5种负载均衡的方法,全了解月薪得2万+以上了吧

 

 

这种负载均衡方案的优点是比较简单。缺点是浏览器需要两次请求服务器才能完成一次访问,性能较差;重定向服务器自身的处理能力有可能成为瓶颈,整个集群的伸缩性规模有限;使用HTTP302响应码重定向,有可能使搜索引擎判断为seo作弊,降低搜索排名。因此实践中使用这种方案进行负载均衡的案例并不多见。

 

二、DNS域名解析负载均衡

这是利用DNS处理域名解析请求的同时进行负载均衡处理的一种方案,在DNS服务器中配置多个A记录,如: www.mysite.com IN A 114.100.80.1、www.mysite.com IN A 114.100.80.2、www.mysite.com IN A 114. 100.80.3。每次域名解析请求都会根据负载均衡算法计算一个不同的IP地址返回,这样A记录中配置的多个服务器就构成一个集群, 并可以实现负载均衡。

 

高并发必备,5种负载均衡的方法,全了解月薪得2万+以上了吧

 

 

DNS域名解析负载均衡的优点是将负载均衡的工作转交给DNS,省掉了网站管理维护负载均衡服务器的麻烦,同时许多DNS还支持基于地理位置的域名解析,即会将域名解析成距离用户地理最近的一个服务器地址,这样可加快用户访问速度,改善性能。

但是DNS域名解析负载均衡也有缺点,就是目前的DNS是多级解析,每一-级DNS都可能缓存A记录,当下线某台服务器后,即使修改了DNS的A记录,要使其生效也需要较长时间,这段时间,DNS依然会将域名解析到已经下线的服务器,导致用户访问失败;而且DNS负载均衡的控制权在域名服务商那里,网站无法对其做更多改善和更强大的管理。

事实上,大型网站总是部分使用DNS域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组服务器并不是实际提供Web服务的物理服务器,而是同样提供负载均衡服务的内部服务器,这组内部负载均衡服务器再进行负载均衡,将请求分发到真实的Web服务器上。

 

三、反向代理负载均衡

通过代向代理服务器,管理一组Web服务器,将请求根据负载均衡算法转发到不同Web服务器上。Web 服务器处理完成的响应也需要通过反向代理服务器返回给用户。由于Web服务器不直接对外提供访问,因此Web服务器不需要使用外部IP地址,而反向代理服务器则需要配置双网卡和内部外部两套IP地址。

由于反向代理服务器转发请求在HTTP协议层面,因此也叫应用层负载均衡。其优点是和反向代理服务器功能集成在一起,部署简单。缺点是反向代理服务器是所有请求和响应的中转站,其性能可能会成为瓶颈,不过对于一些并发量不是特别大的网站够用了。

 

高并发必备,5种负载均衡的方法,全了解月薪得2万+以上了吧

 

 

四、IP负载均衡

IP负载均衡在网络层通过修改请求目标地址进行负载均衡,用户请求数据包到达负载均衡服务器后,负载均衡服务器在操作系统内核进程获取网络数据包,根据负载均衡算法计算得到一台真实Web服务器, 然后将数据目的IP地址修改为真实Web服务器, 不需要通过用户进程处理。真实Web应用服务器处理完成后,响应数据包回到负载均衡服务器,负载均衡服务器再将数据包源地址修改为自身的IP地址发送给用户浏览器。

 

高并发必备,5种负载均衡的方法,全了解月薪得2万+以上了吧

 

 

IP 负载均衡在内核进程完成数据分发,较反向代理负载均衡(在应用程序中分发数据)有更好的处理性能。但是由于所有请求响应都需要经过负载均衡服务器,集群的最大响应数据吞吐量不得不受制于负载均衡服务器网卡带宽。对于提供下载服务或者视频服务等需要传输大量数据的网站而言,难以满足需求。能不能让负载均衡服务器只分发请求,而使响应数据从真实物理服务器直接返回给用户呢?

 

五、数据链路层负载均衡

顾名思义,数据链路层负载均衡是指在通信协议的数据链路层修改mac地址进行负载均衡,如图6.9所示。

这种数据传输方式又称作三角传输模式,负载均衡数据分发过程中不修改IP地址,只修改目的mac地址,通过配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器IP地址一致,从而达到不修改数据包的源地址和目的地址就可以进行数据分发的目的,由于实际处理请求的真实物理服务器IP和数据请求目的IP一致,不需要通过负载均衡服务器进行地址转换,可将响应数据包直接返回给用户浏览器,避免负载均衡服务器网卡带宽成为瓶颈。这种负载均衡方式又称作直接路由方式(DR )。

使用三角传输模式的链路层负载均衡是目前大型网站使用最广的一种负载均衡手段。如HAproxy,LVS等都是采用这种策略。

 

高并发必备,5种负载均衡的方法,全了解月薪得2万+以上了吧

 



Tags:高并发   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,...【详细内容】
2021-12-08  Tags: 高并发  点击:(23)  评论:(0)  加入收藏
一、幂等性概念在数学里,幂等有两种主要的定义。1、在某二元运算下,幂等元素是指被自己重复运算(或对于函数是为复合)的结果等于它自己的元素。例如,乘法下唯一两个幂等实数为0和...【详细内容】
2021-10-09  Tags: 高并发  点击:(44)  评论:(0)  加入收藏
原文链接: https://mp.weixin.qq.com/s/MTw7z6n_wk4y4CTmGkoRoA一切要从CPU说起你可能会有疑问,讲多线程为什么要从CPU说起呢?原因很简单,在这里没有那些时髦的概念,你可以更加清...【详细内容】
2021-08-13  Tags: 高并发  点击:(97)  评论:(0)  加入收藏
题目:高并发情况下,数据库该如何设计?Java高级面试题:为什么要分库分表( 设计高并发系统的时候 , 数据库层面该如何设计 ) ? 用过哪些分库分表中间件 ? 不同的分库分表中间件都有什么...【详细内容】
2021-06-18  Tags: 高并发  点击:(119)  评论:(0)  加入收藏
1. 目的撰写本文的目的是解决微服务架构,对静态数据资源没有规整,所有微服务都是从数据库直接读取,导致性能较差,用户体验不好。通常在高可用的分布式架构中,一般都会采用将这部...【详细内容】
2021-03-17  Tags: 高并发  点击:(157)  评论:(0)  加入收藏
元旦期间 订单业务线 告知 推送系统 无法正常收发消息,作为推送系统维护者的我正外面潇洒,无法第一时间回去,直接让 ops 帮忙重启服务,一切好了起来,重启果然是个大杀器。由于推...【详细内容】
2021-01-07  Tags: 高并发  点击:(146)  评论:(0)  加入收藏
本文主要介绍的微服务是spring cloud,它一个服务治理框架和一系列框架的由序集合,其利用springboot的开发便利性巧妙的简化了分布式系统基础设施的开发,如服务发现注册、负载...【详细内容】
2020-10-20  Tags: 高并发  点击:(105)  评论:(0)  加入收藏
一、什么是分布式?分布式更多的是一个概念,是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段,该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式文件系统...【详细内容】
2020-10-14  Tags: 高并发  点击:(91)  评论:(0)  加入收藏
作为热点频出的电商系统,经常遇到高并发,热点秒杀的场景。我们在开发设计高并发海量业务请求的系统时,通常利用三板斧:缓存、降级和限流来保障系统稳定性。...【详细内容】
2020-09-27  Tags: 高并发  点击:(68)  评论:(0)  加入收藏
前言一台服务器并发TCP连接数可以有多少?如何支持从硬件和操作系统上支持单台服务器支持上万并发,支持百万千万,甚至上亿的并发著名的C10K并发连接问题是什么?C10M并发问题又是...【详细内容】
2020-09-01  Tags: 高并发  点击:(103)  评论:(0)  加入收藏
▌简易百科推荐
在最近的一波攻击中,黑客利用多个插件中未修补的漏洞攻击了 160 万个 WordPress 网站。 易受攻击的插件对 WordPress 网站产生了的巨大攻击数据。 Wordfence 最近发现 WordPr...【详细内容】
2021-12-16  蚁安    Tags:WordPress   点击:(9)  评论:(0)  加入收藏
事件起因从安全分析系统里面发现一条带有病毒的下载,然后针对这条记录展开了一系列的分析分析过程1.登录到被感染服务器,查看系统状况,hadoop 这个用户在 2020/6/18 20:32 从这...【详细内容】
2021-11-23  Z2990Lig    Tags:SSH   点击:(32)  评论:(0)  加入收藏
1、除了服务器需要用的一些正规软件,其它都不要安装。2、在用户中把administrator改名,这样做的目的是即使对方暴破了我们的密码用户名也不容易猜住,相当于又加了一道关卡。...【详细内容】
2021-11-01  IT小哥吧    Tags:服务器   点击:(37)  评论:(0)  加入收藏
账户安全(1)更名administrator本地用户并禁用guest账户步骤:点击“开始”,找到“管理工具”,点击里面的“计算机管理”,找到“本地用户和组” (2)设定账户锁定策略尝试5次失败...【详细内容】
2021-10-12  Kali与编程  今日头条  Tags:Windows主机   点击:(62)  评论:(0)  加入收藏
本文主要介绍以Microsoft的Windows Server 2019 ,版本:Datacenter(Domain Controller)安全加固保护.企业随着规模不断扩大,业务增多,信息安全建设是企业里一条只有重点没有终点...【详细内容】
2021-09-17  Vireshark    Tags:服务器安全   点击:(64)  评论:(0)  加入收藏
目录常见共享命令IPC$IPC$的利用条件1:开启了139、445端口2:目标主机开启了IPC$共享3:IPC连接报错IPC空连接空连接可以做什么?(毫无作用)IPC$非空连接IPC$非空连接可以做什么?di...【详细内容】
2021-09-16  网络说安全    Tags:系统安全   点击:(86)  评论:(0)  加入收藏
昨天一个老哥找到我,说他的服务器这几天一直被CC攻击,问我这边有没有什么解决的方法? 近年来,网络攻击事件越来越频繁,最常见的就是CC攻击和DDOS攻击,主要的区别就是针对的对象不...【详细内容】
2021-09-10  小蚁GDRAGON    Tags:cc攻击   点击:(58)  评论:(0)  加入收藏
网站页面上的登录操作,通常都是输入帐号密码,传输至网站后台验证。在网站页面、数据传输中,通过技术手段,都可以得到用户输入的信息,并可以修改,从而发起网络攻击。典型的如:使用自...【详细内容】
2021-08-30  修丹道的程序猿    Tags:登录方式   点击:(62)  评论:(0)  加入收藏
网络安全研究人员披露了一类影响主要 DNS 即服务 (DNSaaS) 提供商的新漏洞,这些漏洞可能允许攻击者从企业网络中窃取敏感信息。基础设施安全公司 Wiz 的研究人员 Shir Tamar...【详细内容】
2021-08-12  零日时代    Tags:漏洞   点击:(66)  评论:(0)  加入收藏
001暴力破解1. 指定用户名爆破密码传统型爆破思路,用户名可以通过猜测或者信息收集获得。猜测:admin、网站域名等信息收集:新闻发布人、whoami等2. 指定密码爆破用户名如果是后...【详细内容】
2021-07-23  KaliMa  今日头条  Tags:登陆框   点击:(85)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条