• lvs持久连接


    在我们实现lvs负载均衡的同时是否想过这样的一个问题:当客户访问一台WEB服务器时,如果每次客户刷新页面后多会更变连接的realserver,那么这样客户是会非常苦恼的,因为客户一刷新前面的数据和保留的session信息就 找不到了。

    对于这样的问题我们该怎么解决呢?

    其实解决的这个问题是有很多方法的,下面我就来介绍关于lvs提出的解决方案吧--------------基于lvs持久连接。

    lvs持久连接的三种模型:

    1、PCC 将某个客户的所用访问请求在超时时间内都定向到同一台server上 基于客户端的持久连接
    2、PPC 将某个客户的某个服务访问请求在超时时间内都定向到同一台server上 基于会话的端口持久连接
    3、Netfilter Mark 基于防火墙标志的持久连接(将多个服务端口绑定到一起,定义有限个服务为集群服务)


    PCC:

    [root@super63 ~]# ipvsadm -C
    [root@super63 ~]# ipvsadm -At 192.168.1.63:0 -s rr -p 500
    [root@super63 ~]# ipvsadm -at 192.168.1.63:0 -r 192.168.1.65 -g
    [root@super63 ~]# ipvsadm -at 192.168.1.63:0 -r 192.168.1.66 -g
    [root@super63 ~]# ipvsadm -L -n 
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.1.63:80 rr persistent 500
      -> 192.168.1.65:80              Route   1      0          0         
      -> 192.168.1.66:80              Route   1      0          0   

    在super64上访问vip:
    [root@super64 ~]# elinks 192.168.1.63 -dump
       192.168.1.66
    [root@super64 ~]# ssh 192.168.1.63
    [root@super66 ~]

    再次在super63上查看:

    [root@super63 ~]# ipvsadm -L -n 
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.1.63:80 rr persistent 500
      -> 192.168.1.65:80              Route   1      0          0         
      -> 192.168.1.66:80              Route   1      0          2

    连接一直定位到66


    PPC:

    [root@super63 ~]# ipvsadm -C
    [root@super63 ~]# ipvsadm -At 192.168.1.63:22 -s rr -p
    [root@super63 ~]# ipvsadm -At 192.168.1.63:80 -s rr -p
    [root@super63 ~]# ipvsadm -at 192.168.1.63:80 -r 192.168.1.65 -g
    [root@super63 ~]# ipvsadm -at 192.168.1.63:80 -r 192.168.1.66 -g
    [root@super63 ~]# ipvsadm -at 192.168.1.63:20 -r 192.168.1.65 -g


    [root@super64 ~]# elinks 192.168.1.63 -dump
    2次访问多定位到66
    [root@super64 ~]# ssh 192.168.1.63
    root@192.168.1.63's password: 
    Last login: Wed Aug  5 10:09:47 2015 from 192.168.1.64
    [root@super65 ~]# 
    2次访问多定位到65

    [root@super63 ~]# ipvsadm -nL
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    TCP  192.168.1.63:22 rr persistent 360
      -> 192.168.1.65:22              Route   1      0          2        
    TCP  192.168.1.63:80 rr persistent 360
      -> 192.168.1.65:80              Route   1      0          0         
      -> 192.168.1.66:80              Route   1      0          2 


    基于防火墙标记:

    [root@super63 ~]#ipvsadm -C

    将端口打上标记
    [root@super63 ~]#iptables -t mangle -A PREROUTING -d 192.168.1.63 -i eth0 -p tcp -m multiport --dport 80,443 -j MARK --set-mark 8

    创建规则(把防火墙的8定义为集群服务)
    [root@super63 ~]#ipvsadm -A -f 8 -s rr -p --f 
    [root@super63 ~]#ipvsadm -a -f 8 -r 192.168.1.65 -g
    [root@super63 ~]#ipvsadm -a -f 8 -r 192.168.1.66 -g

    通过64分别访问vip的https与http服务:
    2次访问的结果定位到同一主机。

    [root@super63 ~]# ipvsadm -nL
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
      -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
    FWM  8 rr persistent 360
      -> 192.168.1.65:0               Route   1      0          2        
      -> 192.168.1.66:0               Route   1      0          0  

  • 相关阅读:
    mysql之优化器、执行计划、简单优化
    一条查询sql的执行流程和底层原理
    mysql建立索引,实际工作中建立索引的示例
    explain命令---查看mysql执行计划
    mysql 一些知识点
    开发中一些快捷键的使用
    simple-rpc
    maven
    数组合并排序
    SpringMVC配制全局的日期格式
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/5967036.html
Copyright © 2020-2023  润新知