zoukankan      html  css  js  c++  java
  • lvs

    lvs

    Linux Virtual Server (lvs) 是Linux内核自带的负载均衡器,也是目前性能最好的软件负载均衡器之一。lvs包括ipvs内核模块和ipvsadm用户空间命令行工具两部分。

    lvs中,节点分为Director ServerReal Server两个角色,其中Director Server是负载均衡器所在节点,而Real Server则是后端服务节点。当用户的请求到达Director Server时,内核netfilter机制的PREROUTING链会将发往本地IP的包转发给INPUT链(也就是ipvs的工作链),在INPUT链上,ipvs根据用户定义的规则对数据包进行处理(如修改目的IP和端口等),并把新的包发送到POSTROUTING链,进而再转发给Real Server

    转发模式

    NAT

    NAT模式通过修改数据包的目的IP和目的端口来将包转发给Real Server。它的特点包括

    • Director Server必须作为Real Server的网关,并且它们必须处于同一个网段内
    • 不需要Real Server做任何特殊配置
    • 支持端口映射
    • 请求和响应都需要经过Director Server,易称为性能瓶颈

    LVS NAT

    DR

    DRDirect Route)模式通过修改数据包的目的MAC地址将包转发给Real Server。它的特点包括

    • 需要在Real Serverlo上配置vip,并配置arp_ignorearp_announce忽略对vipARP解析请求
    • Director ServerReal Server必须在同一个物理网络内,二层可达
    • 虽然所有请求包都会经过Director Server,但响应报文不经过,有性能上的优势

    LVS DR

    TUN

    TUN模式通过将数据包封装在另一个IP包中(源地址为DIP,目的为RIP)将包转发给Real Server。它的特点包括

    • Real Server需要在lo上配置vip,但不需要Director Server作为网关
    • 不支持端口映射

    FULLNAT

    FULLNAT是阿里在NAT基础上增加的一个新转发模式,通过引入local IPCIP-VIP转换为LIP->RIP,而LIPRIP均为IDC内网IP)使得物理网络可以跨越不同vlan,代码维护在alibaba/LVS上面。其特点是

    • 物理网络仅要求三层可达
    • Real Server不需要任何特殊配置
    • SYNPROXY防止synflooding攻击
    • 未进入内核主线,维护复杂

    LVS FULLNAT

    调度算法

    • 轮叫调度(Round-Robin Scheduling
    • 加权轮叫调度(Weighted Round-Robin Scheduling
    • 最小连接调度(Least-Connection Scheduling
    • 加权最小连接调度(Weighted Least-Connection Scheduling
    • 基于局部性的最少链接(Locality-Based Least Connections Scheduling
    • 带复制的基于局部性最少链接(Locality-Based Least Connections with Replication Scheduling
    • 目标地址散列调度(Destination Hashing Scheduling
    • 源地址散列调度(Source Hashing Scheduling
    • 最短预期延时调度(Shortest Expected Delay Scheduling
    • 不排队调度(Never Queue Scheduling
  • 相关阅读:
    Go 语言简介(下)— 特性
    Array.length vs Array.prototype.length
    【转】javascript Object使用Array的方法
    【转】大话程序猿眼里的高并发架构
    【转】The magic behind array length property
    【转】Build Your own Simplified AngularJS in 200 Lines of JavaScript
    【转】在 2016 年做 PHP 开发是一种什么样的体验?(一)
    【转】大话程序猿眼里的高并发
    php通过token验证表单重复提交
    windows 杀进程软件
  • 原文地址:https://www.cnblogs.com/dream397/p/14715540.html
Copyright © 2011-2022 走看看