目录

一、集群概念

1、集群(cluster)

二、负载均衡集群

1、实现效果图

2、负载均衡分类

3、四层负载均衡

4、七层负载均衡

5、4层负载均衡和7层负载均衡的区别

三、LVS四层负载均衡

1、LVS介绍

2、LVS的优势和不足

3、LVS核心组件和专业术语

4、LVS工作内核模型及工作模式


一、集群概念

1、集群(cluster)

(1)集群技术是一种新技术,可以在付出较低成本的情况下获得性能、可靠性、灵活性方面相对高的收益

(2)集群是一组相互独立的、通过高速网络互联的计算机,他们构成一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。

(3)集群组成后,可以利用多个计算机和组合进行海量请求处理(负载均衡),从而获得很高的处理效率,也可用多个计算机做备份(高可用),使得一个机器坏了整个系统还是可以正常运行。集群可以极大提高互联网业务的可用性和可缩放性。

二、负载均衡集群

负载均衡集群为企业需求提供了可解决容量问题的有效方案,使负载可以在计算机集群中尽可能的分摊处理。

负载通常包括应用程序处理负载和网络流量负载。这样的系统适合向使用同一组应用程序的大量用户提供服务。每个节点都可以承担一定的处理负载,并且可以实现负载在节点间的动态分配,以实现负载均衡。网络流量负载,当网络服务程序接受了高入网流量,以致于无法迅速处理,网络流量就会发送给其他节点上运行的网络服务程序,也可以根据服务器的承载能力,进行服务请求的分发,从而使用户的请求得到更快速的发展。

负载均衡技术类型:基于4层负载均衡技术和基于7层负载均衡技术

负载均衡实现方式:硬件负载均衡设备和软件负载均衡

硬件负载均衡产品:F5 BIG-IP 、Citrix Netscaler、深信服、Array、Radware

软件负载均衡产品:LVS(Linux virtual Server)、Haproxy、Nginx、Ats(apache traffic server)

1、实现效果图

2、负载均衡分类

负载均衡根据所采用的设备对象(软/硬件负载均衡),应用的OSI网络层次(网络层次上的负载均衡),以及应用的地理结构(本地/全局负载均衡)等来分类。

根据负载均衡作用在OSI模型的位置不同,负载均衡可以大概分为几类:

  • 二层负载均衡(mac):根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟mac地址请求,负载均衡接收后分配后端实际的mac地址响应。

  • 三层负载均衡(ip):一般采用虚拟IP地址的方式,外部对虚拟的ip地址请求,负载均衡接受后分配后端实际的ip地址响应。

  • 四层负载均衡(tcp):在三层负载均衡的基础上,用IP+port接受请求,再转发到对应的机器。

  • 七层负载均衡(http):根据虚拟的URL或IP,主机名接收请求,再转向相应的处理服务器。

3、四层负载均衡

基于IP+端口的负载均衡,主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

layer4

(1)在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加上四层的端口号,来决定哪些流量需要负载均衡,对需要处理的流量进行NAT(路由转发)处理,转发至后台服务器,并记录TCP或者UDP的流量是哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

(2)详细情况:以TCP为例,负载均衡设备在接收到第一个来自客户端的SYN请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,及三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发作用。

(3)对应的负载均衡器称为四层交换机(L4 switch),主要分析IP层及TCP/UDP层,实现四层负载均衡。此负载均衡器并不理解应用协议(如HTTP/FTP/MYSQL等)

(4)实现四层负载均衡的软件有:

  • F5:硬件负载均衡器,功能很好,但成本很高

  • LVS:重量级的四层负载均衡软件

  • Nginx:轻量级的四层负载均衡软件,带缓存功能,正则表达式较灵活

  • Haproxy:模拟四层转发,较灵活

4、七层负载均衡

基于虚拟的URL或主机IP的负载均衡。也成为“内容交换”。也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的服务器。

layer 7

(1)在四层负载均衡的基础上,在考虑应用层的特征。eg:同一个web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

(2)以常见TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接收到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

(3)七层对应的负载均衡器称为七层交换机(L7 Switch),除了支持四层负载均衡以外,还有分析应用层信息,如HTTP协议、URL或Cookie信息,实现七层负载均衡。

(4)实现七层负载均衡的软件

  • haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;

  • nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;

  • apache:功能较差

  • MYsql proxy:功能尚可

5、4层负载均衡和7层负载均衡的区别

四层负载均衡 七层负载均衡
基于 基于IP Port URL
类似于 路由器 代理服务器
握手次数 1 2
复杂度
性能 高:无需解析内容 中:需要算法识别URL、Cookie和HTTP head等信息
安全性 低,无法识别DDoS等攻击 高,可以防御SYN cookie以及SYN flood等
额外功能 会话保持,图片压缩,防盗链等

最大的区别:效率和功能的区别。四层负载架构设计比较简单,无需解析具体信息,想要性能较高的负载均衡选择四层负载均衡,想要服务功能更全安全性更好,可以选七层负载均衡:nginx或haproxy。

三、LVS四层负载均衡

1、LVS介绍

(1)简称:Linux Virtual Server,也就是Linux虚拟服务器。由章文嵩博士发起的自由软件项目。

官网:www.linuxvirtualserver.org

(2)可以利用LVS技术实现高可伸缩的、高可用的网络服务,例如www服务、Cache服务、DNS服务、FTP服务、MAIL服务、视频/音频点播放等。

(3)LVS软件作用:通过LVS提供的负载均衡技术和Linux操作系统实现一个高新能,高可用的服务器集群,具有良好的可靠性、可扩展性和操作性,从而以低廉的成本实现最优的服务性能。

2、LVS的优势和不足

(1)优势

  • 高并发连接:LVS基于内核网络层面工作,有超强的承载能力和并发处理能力。

  • 稳定性强:是工作在网络4层之上仅作分发作用,在负载均衡软件里性能最强,稳定性最好,对内存和CPU资源消耗极低。

  • 成本低廉:Lvs仅需一台服务器就能免费部署使用,性价比比较高。

  • 配置简单:LVs的配置非常简单,仅需几行命令即可完成配置,也可写成脚本进行管理。

  • 支持多种算法:支持多种论调算法,可根据业务场景灵活调配使用。

  • 支持多种工作模型:可根据业务场景,使用不同的工作模式来解决生产环境请求处理问题。

  • 应用范围广:lvs工作在四层,几乎可以对所有应用做负载均衡。

(2)不足

工作在四层,不支持7层规则修改,机制过于庞大,不适合小规模使用。

3、LVS核心组件和专业术语

(1)核心组件

LVS的管理工具和内核模块ipvsadm/ipvs

Ipvsadm:用户空间的命令行工具,用于管理集群服务及集群服务上的RS等;

ipvs:工作于内核上的netfilter INPUT钩子之上的程序,可根据用户定义的集群实现请求转发。

(2)专业术语

VS:Virtual Server 虚拟服务

Director ,Balancer 负载均衡器、分发器

RS: Real Server 后端请求处理服务器

CIP:client IP 用户IP

VIP:Diector Virtual IP 负载均衡器虚拟IP

DIP:Director IP 负载均衡器IP

RIP:Real Server IP 后端请求处理服务器

4、LVS工作内核模型及工作模式

(1)当客户端请求到达负载均衡器的内核空间时,首先会到达PREROUTING链;

(2)当内核发现请求数据包的目的地址是本机时,将数据包发送往INPUT链;

(3)LVS用户空间的ipvsadm和内核空间的ipvs组成,ipvsadm用来定义规格规则,ipvs利用ipvsadm定义的规则工作,ipvs工作在INPUT链上,当时数据包达到INPUT链上时,首先会被ipvs检查,如果数据包里面的目的地址及端口没有在规则里面,将本条数据包放行至用户空间。

(4)如果数据包里面的目的地址及端口在规则里面,那么这条数据报文将被修改目的地址为事先定义好的后端服务器,并送往POSTROUTING链;

(5)最后经由POSTROUTING链发送往后端服务器。

LVS内核模型:

Linux学习:四层负载均衡详解相关推荐

  1. Nginx四层负载均衡详解

    Nginx四层负载均衡 什么是四层负载均衡 四层负载均衡基于传输层协议包来封装的(如:TCP/IP),那我们前面使用的七层指的是应用层,它的组装在四层基础之上,无论是四层还是七层都是这是OSI网络模型 ...

  2. RHCE学习12LVS负载均衡详解

    一.LVS集群概念性介绍 1.什么是集群? 服务器集群就是指将很多服务器集中起来一起进行同一种服务,只提供一个访问入口(域名或IP地址)在客户端看来就象是只有一个服务器 集群可以利用多个计算机进行并行 ...

  3. 大型网站架构系列:负载均衡详解(4)

    原文:大型网站架构系列:负载均衡详解(4) 本文是负载均衡详解的第四篇,主要介绍了LVS的三种请求转发模式和八种负载均衡算法,以及Haproxy的特点和负载均衡算法.具体参考文章,详见最后的链接. 三 ...

  4. Tomcat安装、配置、优化及负载均衡详解

    博客园 首页 新随笔 联系 管理 订阅 随笔- 31  文章- 0  评论- 25  Tomcat安装.配置.优化及负载均衡详解 一.常见JavaWeb服务器      1.WebLogic:是BEA ...

  5. Kubernetes上的负载均衡详解

    如果您的应用程序是面向大量用户.会吸引大量流量,那么一个不变的目标一定是在高效满足用户需求的同时.不让用户感知到任何类似于"服务器繁忙!"的情况.这一诉求的典型解决方案是横向扩展部 ...

  6. 大型网站架构系列:负载均衡详解(3)

    本次分享大纲 软件负载均衡概述 Ngnix负载均衡 Lvs负载均衡 Haproxy负载均衡 本次分享总结 一.软件负载均衡概述 硬件负载均衡性能优越,功能全面,但是价格昂贵,一般适合初期或者土豪级公司 ...

  7. Nginx代理功能与负载均衡详解

    序言 Nginx的代理功能与负载均衡功能是最常被用到的,关于nginx的基本语法常识与配置已在上篇文章中有说明,这篇就开门见山,先描述一些关于代理功能的配置,再说明负载均衡详细. Nginx代理服务的 ...

  8. Spring Cloud:使用Ribbon实现负载均衡详解(下)

    在上一篇文章(Spring Cloud:使用Ribbon实现负载均衡详解(上))中,我对 Ribbon 做了一个介绍,Ribbon 可以实现直接通过服务名称对服务进行访问.这一篇文章我详细分析一下如何 ...

  9. 大型网站系统架构系列:负载均衡详解(一)

    大型网站系统架构系列:负载均衡详解(一) 2016-03-20 架构说 面对大量用户访问.高并发请求,海量数据,可以使用高性能的服务器.大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比 ...

  10. dubbo的负载均衡详解

    本文来详细说下dubbo的负载均衡,常见的概念,性质,原理等. 文章目录 负载均衡概述 dubbo中的负载均衡 对多注册中心负载均衡 对多服务负载均衡 dubbo中的负载均衡算法详解 整体结构 Ran ...

最新文章

  1. 「图像分类」从数据集和经典网络开始
  2. JAVA中LinkedLockingQueue的简单使用
  3. 「AI激荡三十年」中的哈工大与王海峰:中国AI如何从贫瘠的孤岛,走向世界?...
  4. 冰豹lua驱动设置_通过编写“猜数字”游戏学习 Lua | Linux 中国
  5. 数据分析与挖掘实战-家用电器用户行为分析与事件识别
  6. 数学--数论--HDU 12151七夕节
  7. tushare pro接口_Python与交易策略分析amp;tushare/baostock库介绍(附代码)
  8. 算法提高 拿糖果【埃氏筛 动态规划】
  9. android:layout_margintop=3dip,南昌航空大学android期末复习资料之 编程题.pdf
  10. ocv特性_SOC-OCV曲线是否始终值得信赖的吗?
  11. 关于继承的理解,自带有白话文,更适合编程小白新手,简单易理解
  12. WIN7镜像中增加USB3.0驱动和语言包
  13. 火车头采集器文章伪原创插件工具
  14. 你还不知道web自动化测试是什么吧?今天让你发现新大陆
  15. opencv ipcam
  16. 邮件服务-postfix
  17. 微信网页授权登录的方法
  18. linux nas解决方案_Linux操作系统在NAS中的典型应用
  19. 搜狗2019年Q2财报:搜索业务增速领先行业,AI成为新增长引擎
  20. 红通告小程序_博主招募新选择,“红通告”助力红人推广

热门文章

  1. mysql audit log_关于MySQL AUDIT(审计)那点事
  2. 程序员数学(23)–图形的旋转与中心对称
  3. Python:实现simpson rule辛普森法则算法(附完整源码)
  4. SAP菜单中添加事务操作实例
  5. 谷歌浏览器 Cookie 设置
  6. 你想靠AI实现永生吗?
  7. 产品助理入门攻略(一枚入行3年的PM内心独白)
  8. Intel Edison 第一次使用的更新
  9. wps2016向程序发送命令_老司机帮您向程序发送命令时出现错误 【操作步骤】 的设置办法...
  10. [SAS Hard Coding] 车型对应车商代码