1负载均衡产品介绍

基于硬件的负载均衡设备例如F5,Big-IP,
基于软件的负载均衡产品HAproxy,LVS,nginx
在这些软件产品中,又分为基于操作系统的软负载实现和基于第三方应用的软负载实现。
LVS就是基于Linux操作系统实现的一种软负载均衡,而HAproxy是基于第三方实现的软负载均衡。

2 HAproxy简介

HAProxy是一个开源的,高性能的,基于TCP和HTTP(第七层)应用的负载均衡软件。
可靠性和稳定性好,可以与硬件级的F5媲美
可以同时维护4-5万的并发连接。
支持多于8种负载均衡算法,也支持session保持。
支持虚拟主机的功能
1.3后支持拒绝连接,全透明代理等功能
拥有一个强大的服务器状态监控页面可以实时了解系统运行状态。
支持ACL

3四层和七层负载均衡的区别

四层负载均衡器

所谓四层就是IOS模型中的第四层,四层负载均衡器也叫四层交换机,主要是通过分析IP层及TCP/UDP层
的力量实现基于IP和端口号的负载均衡,常见的有LVS,F5
主要实现过程以TCP为例
负载均衡器在接收到第一个来自客户端的SYN请求时,会通过设定的负载均衡算法选择一台最佳的后端服务器
同时将保温中的目标IP地址修改为后端服务器IP,然后直接转发给后端服务器这样一个负载均衡就完成了。
在这个过程中,一个TCP连接时客户端与服务器直接建立连接的,而负载均衡器只不过相当于路由器的转发动作。
负载均衡器

client---------TCP连接----------转发连接-----服务
修改报文头目标地址修改源地址(根据需求)

七层负载均衡器

七层负载均衡器也叫七层交换机,位于ISO模型的最高层应用层,此负载均衡支持多种协议,例如HTTP,FTP,SMTP等。
七层负载均衡可以根据报文内容,在配合负载均衡算法来选择后端服务器,因此也可叫内容交换器
对于web来说,七层负载均衡不但可以根据IP+端口号来负载分流,还可以根据网站的URL,访问域名,浏览器,语言等来
决定负载均衡策略。
主要实现过程以TCP为例
由于负载均衡器要获取报文的内容,因此只能先代替后端服务器和客户端建立连接,接着才能收到客户端发来的报文内容,然后根据
报文中特定字段加上负载均衡器中设置的负载均衡器算法来决定最终选择的内部服务器,在整个过程中,七层负载均衡器类似与一个代理服务器。

七层负载均衡器
client ----独立TCP连接----代理----------独立TCP连接------server
对比以上可以看出七层模式下,负载均衡器和客户端以及后端服务器都会分别建立一次TCP连接,而四层负载均衡模式下,仅仅建立一次TCP连接.
所以,七层对负载均衡设备要求更高,七层处理能力必然低于四层模式。

4 LVS NGINX  HAproxy的比较

千万级高并发负载均衡软件HAproxy的更多相关文章

  1. 千万级高并发负载均衡软件haproxy配置文件详解

    balance roundrobin         #轮询方式 balance source               #将用户IP经过hash计算后,使同一IP地址的所有请求都发送到同一固定的后 ...

  2. Django高并发负载均衡

    1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台 ...

  3. Django 高并发负载均衡

    1 什么是负载均衡? 当一台服务器的性能达到极限时,我们可以使用服务器集群来提高网站的整体性能.那么,在服务器集群中,需要有一台服务器充当调度者的角色,用户的所有请求都会首先由它接收,调度者再根据每台 ...

  4. 高并发负载均衡——nginx与lvs

    一.企业级web项目架构 一.企业级web项目架构图 二.架构分析 客户端通过企业防火墙发送请求 在App服务器如tomcat接收客户端请求前,面对高并发大数据量访问的企业架构,会通过加入负载均衡主备 ...

  5. MySQL 高级性能优化架构 千万级高并发交易一致性系统基础

    一.MySQL体系架构 由图,可以看出MySQL最上层是连接组件.下面服务器是由连接池.管理服务和工具组件.SQL接口.查询解析器.查询优化器.缓存.存储引擎.文件系统组成. 1.连接池 管理.缓冲用 ...

  6. linux系统多网卡热备实现高并发负载均衡

    #nmcli实现bonding #先停止NetworkManagerservice NetworkManager stop chkconfig NetworkManager off   //开机自启动 ...

  7. http高可用+负载均衡 corosync + pacemaker + pcs

    http高可用+负载均衡 corosync + pacemaker + pcsopenstack pike 部署 目录汇总 http://www.cnblogs.com/elvi/p/7613861. ...

  8. 【高并发解决方案】8、Nginx/LVS/HAProxy负载均衡软件的优缺点详解

    PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下. 一般对负载均衡的使用是随着网站规模的提升根据不 ...

  9. HAProxy & Keepalived L4-L7 高可用负载均衡解决方案

    目录 文章目录 目录 HAProxy 负载均衡器 应用特性 性能优势 会话保持 健康检查 配置文件 负载均衡策略 ACL 规则 Web 监控平台 Keepalived 虚拟路由器 核心组件 VRRP ...

随机推荐

  1. asp.net记录错误日志的方法

    1.说明 在调试发布后的asp.net项目时有可能会遇到意想不到的错误,而未能及时的显示.这就需要记录日志来跟踪错误信息,所以写了个简单的记录信息的方法,记录简单的文本信息也可以使用.此方法是以生成文 ...

  2. arcengine中自定义工具和自带工具条(ICommand)点击后和其他工具使用的冲突

    自己系统中本身对于放大缩小等功能直接是单独重写的,但是如果在加一个工具条具有相同功能的话两者之间会有一些冲突,为解决该冲突可以重写工具条的OnItemClick事件 该工具条命名为axTool 我本身 ...

  3. 基于redis的处理session的方法

    一个基于redis的处理session的方法,如下. <?php class Session_custom { private $redis; // redis实例 private $prefi ...

  4. Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

  5. Quartz —— Spring 环境下的使用

    一.在 Spring 环境下 Quartz 的使用超级简单. 二.具体使用 1.添加对应的 spring-quartz 的配置文件. 2.新建要执行定时任务的目标类和目标方法,不需要继承 Job 接口 ...

  6. PHP 代理模式

    代理模式:为其他对象提供一种代理以控制对这个对象的访问. [代理模式中主要角色] 抽象主题角色:声明了代理主题和真实主题的公共接口,使任何需要真实主题的地方都能用代理主题代替. 代理主题角色:含有真实 ...

  7. jQuery中的$.extend方法来扩展JSON对象及合并,方便调用对象方法

    $.extend方法可以扩展JSON对象,用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 例一 合并 settings 和 options,修改并返回 settings var setting ...

  8. xUtils 3.0 post使用详解

    github:https://github.com/wyouflf/xUtils3 xUtils3简介 xUtils 包含了很多实用的android工具. xUtils 支持超大文件(超过2G)上传, ...

  9. Learning the standard of C++11

    It's a very useful website of en.cppreference.com. It lists a huge number of information about the l ...

  10. Spring:ApplicationContext (2)

    在使用Spring时,通常会配置一个applictioncontext.xml 来指定ApplicationContext的相关信息. 当使用SpringMVC时,还会再另外指定一个[server-n ...