码迷,mamicode.com
首页 > 其他好文 > 详细

服务器负载均衡-文章整理

时间:2018-05-20 18:01:55      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:负载均衡   数据   多个   imp   导致   扩展性   cti   linux内核   应用服务   

知乎

实现上分类

负载均衡一般分为两种,一种是基于DNS,另一种基于IP报文。

基于DNS

或是智能DNS

利用DNS实现负载均衡,就是在DNS服务器配置多个A记录,不同的DNS请求会解析到不同的IP地址。大型网站一般使用DNS作为第一级负载均衡。缺点是DNS生效时间略长,扩展性差。

HTTP重定向

302

基于IP

某台服务器作为对外的出入口,然后根据特定的负载均衡算法将IP报文转发到整个集群的某台服务器中去。

早期比较有代表性并且被大量使用的的就是LVS了。原理是LVS在Linux内核态获取到IP报文后,根据特定的负载均衡算法将IP报文转发到整个集群的某台服务器中去。
缺点是LVS的性能依赖Linux内核的网络性能,但Linux内核的网络路径过长导致了大量开销,使得LVS单机性能较低。

反向代理负载均衡

反向代理服务器的核心工作是转发HTTP,它工作在HTTP层面,因此,基于反向代理的负载均衡也称为七层负载均衡。

软硬件上分类

负载均衡有硬件和软件两种。

硬件上

硬件层的比较牛逼,将4-7层负载均衡功能做到一个硬件里面,

google maglev http://simpleyyt.com/2017/07/05/introduction-to-google-maglev/

软件上

目前主流的软件负载均衡分为四层和七层。

LVS属于四层负载均衡,工作在tcp/ip协议栈上,通过修改网络包的ip地址和端口来转发, 由于效率比七层高,一般放在架构的前端.

七层的负载均衡有nginx, haproxy, apache等, 工作在应用层,因此可以将HTTP请求等应用数据发送到具体的应用服务器,如将图片请求转发到特定的服务器上,总之可以做到更智能的负载均衡,这些功能在四层负载均衡上不好实现,一般放在架构的后面位置,布置在应用服务器前面.

http://wetest.qq.com/lab/view/320.html?from=content_SegmentFault
 

服务器负载均衡-文章整理

标签:负载均衡   数据   多个   imp   导致   扩展性   cti   linux内核   应用服务   

原文地址:https://www.cnblogs.com/perfy576/p/8823419.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!