zoukankan      html  css  js  c++  java
  • lvx、nginx负载均衡区别

    lvs nginx haproxy 对比
    都可以做负载均衡;工作方式和应用场景各有特点;

    一、lvs Linux 虚拟 服务;

    1、可以应用支持协议:
    ftp http dns telnet smtp smtp 、
    2、lvs 负载 算法:
    轮叫调度、加权轮叫、最少链接、加权最小链接、基于局部的最少链接,
    3、配置实现方式:   NAT 实现 优点:可以减少共有地址,支持任何操作系统的TCP
    /IP 协议; 缺点:服务器伸缩限制,   IP 隧道实现虚拟虚拟服务器 有IP 隧道开销;   DR 直接路由实现虚拟服务器 (数据响应可以独立返回给客户端)

    特点:

    1、LVS 只在网络层,做请求分发,没有流量,所以可以进行分配线路分流;
    2、本身资源消耗低,IO性能不会收到大的流量; 3、配置较少,直接ipvsadm 添加机器; 4、不能判断节点故障;后端服务出现故障,请求到了就会直接返回错误。

    二、Nginx  负载算法:

    1、轮询
    2、加权轮询 3、ip_hash 4、url_hash 5、还有个 fair (根据文件请求加载时间进行负载,需要
    pstream_fair 模块

    nginx 做负载均衡在应用层

    1、主要在应用层 http 和 mail 的负载均衡;
    2、但是 nginx 可以和 http 上对服务分流;静态分离,针对域名,或者目录结构; 3、支持Rewrite 重写规则;节省带宽 支持GZIP压缩;
    4、通过端口进行后端健康检查,后端服务宕机不影响前端访问;
    5、nginx 也可以做缓存;

    三、HAproxy 多用于 mysql 集群,作mysql 读取负载;

    1、支持两种代理模式:TCP(四层)和HTTP(七层),支持虚拟主机;
    2、能够补充 Nginx 的一些缺点比如Session的保持,Cookie 的引导等工作 ;不过 nginx ip_hash 可以实现 会话保持,
    3、支持url检测后端的服务器出问题的检测会有很好的帮助。
    4、更多的负载均衡策略比如:动态加权轮循(Dynamic Round Robin),加权源地址哈希(Weighted Source Hash),加权URL哈希和加权参数哈希(Weighted Parameter Hash)已经实现
    5、单纯从效率上来讲HAProxy更会比Nginx有更出色的负载均衡速度。
    6、HAProxy 可以对 Mysql进行负载均衡,对后端的DB节点进行检测和负载均衡。
    7、支持负载均衡算法:Round-robin(轮循)、Weight-round-robin(带权轮循)、source(原地址保持)、RI(请求URL)、rdp-cookie(根据cookie)
    8、不能做Web服务器即Cache。

    四、其他负载均衡 有 heartbeat F5

    五、F5
    流量负载;
    可以做4~7层的负载均衡;检查宕机,从而不会将用户的访问请求传送到故障机器上。
    可以做 动态 Session 的会话保持;

  • 相关阅读:
    Python(3)---从迭代器到异步IO
    并发访问sqlite数据库出现databse is locked的错误的一个解决办法
    基础概念2
    (已解决)Arduino mega2560 R3插在电脑上没有反应
    <Android 基础(二)> BroadcastReceiver
    unicode字符和多字节字符的相互转换接口
    PHP中XML和数组互相转换的方法
    java网络编程—TCP(1)
    Java EE的十三个技术规范
    <Android 基础(一)> Service
  • 原文地址:https://www.cnblogs.com/sharesdk/p/9518415.html
Copyright © 2011-2022 走看看