zoukankan      html  css  js  c++  java
  • lvs原理和实战

     lvs-dr原理

    lvs-nat原理: 

     当我们的网站流量越来越大时一台web服务器已经无法满足需求了,我们该如何解决呢??
    把服务器连接起来实现负载均衡或许是个不错的办法。。
    下面我就来看看怎么实现吧。当然这只是个经典版的实验。不足之处请多多指教。

    本实验使用了4台机器分别:

    分发器:super63    
    realserver:super65、super66    
    客户机:super64

    实验模型图例:

    其中上图中VIP模拟公网IP可以和外面客户机通信。

    原理简介:当客户机请求vip时,请求由路由器转发到分发器,再由分发器通过某种调度算法和mac转发给realserver实现负载均衡,realserver接到转发报文请求后再通过自身回环口vip向客户转发内容,其转发路径直接从某个出口路由到达客户机不经过分发器。

    配置super63

    配置IP

    DIP    eth0     192.168.1.70

    VIP    eth0:1    192.168.1.63

    网关指向192.168.1.1

    配置LVS-DR   规则(实验以轮询rr的方式)

    [root@super63 network-scripts]# ipvsadm -A -t 192.168.1.63:80 -s rr

    [root@super63 network-scripts]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.65 -g

    [root@super63 network-scripts]# ipvsadm -a -t 192.168.1.63:80 -r 192.168.1.66 –g

    [root@super63 network-scripts]# 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

      -> 192.168.1.65:80              Route   1      0          0        

      -> 192.168.1.66:80              Route   1      0          0    

    配置super65

    配置IP

    etho      192.168.1.65/24

    lo:1     192.168.1.63    255.255.255.255

    网关指向192.168.1.1

    关闭ARP转发   #使机器只响应eth0

    [root@super65~]#echo 1 > /proc/sys/net/ipv4/conf/eth0/arp_ignore

    [root@super65 ~]#echo 2 > /proc/sys/net/ipv4/conf/eth0/arp_announce

    写入配置文件

    [root@super65 network-scripts]# vim /etc/sysctl.conf

    #尾部追加

    net.ipv4.conf.eth0.arp_ignore = 1

    net.ipv4.conf.eth0.arp_announce = 2  

    [root@super65 network-scripts]# sysctl -p

    安装apache在apache服务器主页上写入内容便于测试

    [root@super65 ~# ]echo "192.168.1.65" > /var/www/html/index.html                  



    配置super66     #方法与super65原理一样

    测试:

    super64模拟客户机访问vip

    [root@super64 ~]# elinks 192.168.1.63 --dump

    192.168.1.65

    [root@super64 ~]# elinks 192.168.1.63 --dump

    192.168.1.66

    [root@super64 ~]#  elinks 192.168.1.63 --dump

    192.168.1.65



    可以看到每次访问vip时访问了不同页面,负载均衡实现。

  • 相关阅读:
    JNI 反射
    JNI 动态注册
    Nt* 与 Zw* 区别
    python之线程
    爬虫框架之Scrapy(四 ImagePipeline)
    初试PySnooper
    爬虫框架之Scrapy(三 CrawlSpider)
    爬虫框架之Scrapy(二)
    爬虫框架之Scrapy(一)
    selenium+谷歌无头浏览器爬取网易新闻国内板块
  • 原文地址:https://www.cnblogs.com/fanxuanhui-linux/p/5967022.html
Copyright © 2011-2022 走看看