博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LVS负载均衡
阅读量:5309 次
发布时间:2019-06-14

本文共 1420 字,大约阅读时间需要 4 分钟。

LVS(Linux Virtual Server),即 Linux 虚拟服务器,是一个虚拟的服务器集群系统。

一般来说,LVS 集群采用三层结构,其主要组成部分为:

  • 负载调度器(load balancer),它是整个集群对外的前端机,负责将客户的请求转发到一组服务器上。
  • 服务器池(server pool),是一组真正处理用户请求的服务器,如WEB、MAIL、FTP和DNS等。
  • 共享存储(shared storage),它为服务器池提供一个共享的存储区,使得服务器池拥有相同的内容,提供相同的服务。

负载调度器是服务器集群系统的唯一入口,它可以采用 IP负载均衡技术、基于内容请求分发技术或者两者相结合。

1. 三种IP负载均衡技术

(1)Virtual Server via Network Address Translation(VS/NAT)

通过网络地址转换,调度器重写请求报文的目的地址,根据预设的调度算法,将请求分发给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给用户,完成整个负载调度过程。

(2)Virtual Server via IP Tunneling(VS/TUN)

采用 VS/NAT 技术时,由于请求和响应报文都必须经过调度器,当服务器结点数目为10~20时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给用户,所以调度器只处理请求报文。由于一般网络服务应答比请求报文大许多,采用 VS/TUN 技术后,集群系统的最大吞吐量可以提高10倍。

(3)Virtual Server via Direct Routing(VS/DR)

VS/DR 通过调度器改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户,可以极大地提高整个集群系统的伸缩性。但是要求调度器与真实服务器都有一块网卡连在同一物理网段上。

2. LVS四层负载均衡

四层负载均衡工作在传输层,调度器接受到客户端请求后,通过修改数据包的地址信息,将请求转发到后端服务器,由客户端和后端服务器直接建立TCP连接。负载性能高、支持各种网络协议,但是对网络依赖较大。

3. 负载调度算法

轮询、加权轮询、最小连接、加权最小连接等。

4. Keepalived

keepalived 是一个类似于 TCP/IP 协议栈的网络层,传输层及应用层交换机制的软件,主要用作 RealServer 的健康状态检查以及负载调度器主机和备机之间 failover 的实现。Keepalived 检测到故障的服务器,会将其从集群中剔除,当服务器恢复正常后,Keepalived 自动将其加入到集群中,这些工作全部自动完成,不需要人工干涉。
  • 网络层是以服务器的IP地址是否有效作为服务器工作正常与否的标准。(ICMP数据包,即ping命令)
  • 传输层主要以TCP端口的状态来决定服务器工作正常与否。
  • 应用层是对指定的URL执行HTTP GET,然后使用MD5算法对HTTP GET结果进行求和。用这个结果与预期值比较,检查应用程序服务器是否正常工作。

5. 高可用架构

高可用web架构:LVS+keepalived+nginx+应用服务器

 

转载于:https://www.cnblogs.com/yutb/p/11248276.html

你可能感兴趣的文章
nginx配置location解析过程
查看>>
complex类的定义、实现
查看>>
php引用其他目录的php文件
查看>>
通过微信小程序看前端
查看>>
锐浪 报表, 交叉报表中 对交叉字段,做条件改变背景颜色 .
查看>>
程序员的浪漫故事
查看>>
Binary Tree Zigzag Level Order Traversal,z字形遍历二叉树,得到每层访问的节点值。...
查看>>
1118.数值转换
查看>>
1068.球的半径和体积
查看>>
不同版本的浏览器代理编码
查看>>
【拓展】循环输入内容,直到输入内容为数字结束循环
查看>>
Jmeter下载安装配置及使用(windows)
查看>>
Javascript导航菜单13则
查看>>
iPad编程
查看>>
windows批量删除当前目录以及子目录的所有空文件夹
查看>>
基于Idea从零搭建一个最简单的vue项目
查看>>
前端对页面展示修改出现的问题------行内块元素(标签)、行内元素(标签)、块元素(标签)的区别...
查看>>
贝贝网电面
查看>>
《mysql必知必会》 笔记
查看>>
1.20(字符串)
查看>>