当前位置: 首页 > news >正文

漳州正规网站建设哪家便宜/你就知道

漳州正规网站建设哪家便宜,你就知道,app拉新工作室,做电影网站被告版权一.负载均衡方法介绍 主要的开源软件有LVS、keepalived、haproxy、nginx等。其中LVS是传输层的,nginx属于7层,haproxy既可以认为4层,也可以认为是7层使用。而keepalived的负载均衡功能就是lvs。 四层和七层的主要区别就在于lvs可以分发除80…

一.负载均衡方法介绍

主要的开源软件有LVS、keepalived、haproxy、nginx等。其中LVS是传输层的,nginx属于7层,haproxy既可以认为4层,也可以认为是7层使用。而keepalived的负载均衡功能就是lvs。

四层和七层的主要区别就在于lvs可以分发除80外的其他通信端口,比如mysql。而nginx仅仅支持http,https,mail,但是应用更丰富,比如说可以根据某个目录做限制和用户认证等。在性能上,lvs支持的并发量会大一些,更稳定一些。

二.LVS介绍

lvs是由国人章文嵩开发的,是世界知名的负载均衡软件,基于TCP/IP做的路由转发,稳定性和效率很高。lvs最新版本基于linux2.6,有很多年没有更新了。

lvs的三种常见模式:NAT、DR,IP Tunnel

架构:核心角色分发器(load blance),它用来分发用户的请求,还有诸多处理用户请求的服务器(real server)。

LVS NAT模式
NAT模式借助iptables的nat表来实现,用户的请求到分发器之后,通过预设 的iptables规则,把请求的数据包转发到后端的rs上去。因为每个请求都需要通过处理,所以NAT模式存在着性能瓶颈,请求量不能太大,一般的规模就十几台。

rs需要设定网关为分发器的内网ip,用户请求的数据包和返回给用户包全部经过分发器。在nat模式中,只需要分发器有公网ip就行了,比较节省公网资源。

IP Tunnel模式
IP tunnel模式的特点是分发器和所有rs都需要配置一同个公网的vip,当客户请求数据包到达分发器之后,分发器把目标地址vip改成某个rs的ip(非vip),当rs收到数据包之后,它会还原目标地址为vip。rs发送包,因为配置了vip,可以不用经过分发器处理,直接发送个客户端。

DR模式
和IP Tunnel不同的是,DR模式修改的是rs的mac地址,而不是ip。DR模式也需要所有分发器和rs都配置一个公共的ip,也就是vip。DR模式在同一个网段内。rs接受数据包后,会还原原始数据包,也是直接发送给客户端。

三.LVS的调度算法

轮询 rr
加权轮询 wrr:某台服务器很好,可以权重大的请求的数量多一点。
最小连接 lc:请求最少的访问多一点
加权最小连接wlc:给请求少的加权重,访问的多一点
基于局部性的最小连接 lblc
带复制的基于局部性最小连接 lblcr
目标地址散列调度 dh
源地址散列调度 sh

四.NAT模式搭建

环境说明:

分发器:网卡一192.168.247.160、网卡二:外网ip192.168.41.1(因为没有公网,只用另一个网段代替)
rs1:192.168.247.170 ,设置网关192.168.247.160
rs2:192.168.247.180,设置网关192.168.247.160

准备工作:在分发器的机器上增加一块网卡,设置成仅主机模式,然后启动服务器,给该网卡设置ip。
在这里插入图片描述
开始:
这里我们用防火墙iptables,关闭firewalld,并清空规则,三台机器都需要执行:

systemctl stop firewalld
systemctl disable firewalldiptables -F
service iptables savesetenforce 0

rs1、rs2设置网关:

vim /etc/sysconfig/network-scripts/ifcfg-ens33
GATEWAY=192.168.247.160 //设置成分发器的ip#重启network,重启之后就连不上外网了
systemctl restart network#查看网关
route -n

分发器上安装ipvsadm,ipvsadm是lvs的重要组成部分。

yum install -y ipvsadm

把设置分发器的命令写成一个脚本,方便修改:

vim /usr/local/sbin/ip_nat.sh#! /bin/bash
# director 服务器上开启路由转发功能echo 1 >/proc/sys/net/ipv4/ip_forward
# 关闭icmp的重定向
echo 0 > /proc/sys/net/ipv4/conf/all/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects
# 注意区分网卡名字,我的两个网卡分别为ens33和ens37
echo 0 > /proc/sys/net/ipv4/conf/ens33/send_redirects
echo 0 > /proc/sys/net/ipv4/conf/ens37/send_redirects
# director 设置nat防火墙
iptables -t nat -F
iptables -t nat -X
iptables -t nat -A POSTROUTING -s 192.168.247.0/24  -j MASQUERADE
# director设置ipvsadm
IPVSADM='/usr/sbin/ipvsadm'
$IPVSADM -C
#-p 表示同一台客户端在多少时间内连接同一个rs
$IPVSADM -A -t 192.168.41.1:80 -s lc -p 300
$IPVSADM -a -t 192.168.41.1:80 -r 192.168.247.170:80 -m -w 1
$IPVSADM -a -t 192.168.41.1:80 -r 192.168.247.180:80 -m -w 1

到这里就完成了。

测试:
修改rs1和rs2的主页,在用浏览器访问多次,看有啥变化,可以把分发器脚本上的-p参数时间调小试试。

五.DR模式lvs搭建

首先清空nat模式防火墙规则:

iptables -t nat -F

并且把rs上的网关改回原来正常的ip。然后开始操作:

在dir上编写一个shell脚本:

vim /usr/local/sbin/lvs_dr.sh#! /bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
ipv=/usr/sbin/ipvsadm
vip=192.168.247.80
rs1=192.168.247.170
rs2=192.168.247.180
#注意这里的网卡名字
ifdown ens33
ifup ens33
ifconfig ens33:2 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip dev ens33:2
$ipv -C
$ipv -A -t $vip:80 -s rr
$ipv -a -t $vip:80 -r $rs1:80 -g -w 1
$ipv -a -t $vip:80 -r $rs2:80 -g -w 1

执行:

sh /usr/local/sbin/lvs_dr.sh

两台服务器上编写脚本(内容一样):

vim /usr/local/sbin/lvs_dr_rs.sh#/bin/bash
vip=192.168.247.80
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

执行:

sh /usr/local/sbin/lvs_dr_rs.sh

分别在三台机器上执行各自的脚本,完成。

检查是否有vip生成:

ip addrinet 192.168.247.80/32 brd 192.168.247.80 scope global ens33:2
ipvsadm -lnTCP  192.168.247.80:80 rr-> 192.168.247.170:80           Route   1      0          2         -> 192.168.247.180:80           Route   1      2          0     

最后用浏览器查看。当ip量很大的时候,效果才明显。

六.keepalived+lvs

这种方案,主要是针对用lvs作为负载均衡的情况。如果是用nginx做负载均衡,只需要用keepalived做高可用即可。

keepalibed内置lvs,所以不需要安装ipvsadm包。keepalived提供生存检测,可以把后端宕机的nginx剔除掉。

先把之前设置了vip的网卡重启一下:

ifdown ens33 && ifup ens33

清除ipvsadm规则:

ipvsadm -C

安装keepalived:

yum install -y keepalived

编辑配置文件:

vim /etc/keepalived/keepalived.conf 
 vrrp_instance VI_1 {#备用服务器上为 BACKUPstate MASTER#绑定vip的网卡为ens33,你的网卡和阿铭的可能不一样,这里需要你改一下interface ens33virtual_router_id 51#备用服务器上为90priority 100advert_int 1authentication {auth_type PASSauth_pass aminglinux}virtual_ipaddress {192.168.247.80}
}
virtual_server 192.168.247.80 80 {#(每隔10秒查询realserver状态)delay_loop 10#(lvs 算法)lb_algo wlc#(DR模式)lb_kind DR#(同一IP的连接60秒内被分配到同一台realserver)persistence_timeout 60#(用TCP协议检查realserver状态)protocol TCPreal_server 192.168.247.170 80 {#(权重)weight 100TCP_CHECK {#(10秒无响应超时)connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}real_server 192.168.247.180 80 {weight 100TCP_CHECK {connect_timeout 10nb_get_retry 3delay_before_retry 3connect_port 80}}
}

启动keepalived:

systemctl start keepalived

分发器上依然要开启端口转发:

echo 1 > /proc/sys/net/ipv4/ip_forward

查看vip和ipvsadm:

ip addipvsadm -ln

两台rs还需要执行之前的rs脚本:

vim /usr/local/sbin/lvs_dr_rs.sh#/bin/bash
vip=192.168.247.80
#把vip绑定在lo上,是为了实现rs直接把结果返回给客户端
ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up
route add -host $vip lo:0
#以下操作为更改arp内核参数,目的是为了让rs顺利发送mac地址给客户端
#参考文档www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html
echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce

完成,最后用浏览器测试效果。

http://www.jmfq.cn/news/5053933.html

相关文章:

  • 设计网站 问题/seo优化技术
  • 网站内页banner一般做多高/指数基金
  • wordpress 判断文章页/谷歌seo教程
  • 枸橼酸西地那非片是什么/天津百度seo排名优化
  • 天津建设工程注册中心网站/实时新闻热点
  • 网站建设案例模板/杭州网站优化效果
  • 深圳网站科技有限公司是真是假/seo网站制作优化
  • 贵阳网站建设q479185700棒/拓客团队怎么联系
  • 北京信息网站建设/seo网站监测
  • 自己的电脑做服务器搭建网站/新闻热点大事件
  • 沈阳网页设计制作/搜索引擎排名优化方案
  • 做网站需要花费那方面的钱/seo网站推广专员
  • 安阳专业做网站公司/做销售有什么技巧和方法
  • 数据统计网站有哪些/做网站价格
  • 邢台网站建设地方/免费站长工具
  • 大连餐饮网站建设/网络媒体推广报价
  • asp网站建设mdb文件/发新闻稿平台
  • 网站降权查询/自己怎么做游戏推广赚钱
  • 做色情网站牟利200万判刑/百度风云排行榜
  • 网站建设项目策划/分销平台
  • 国家允许哪几个网站做顺风车/精准防恶意点击软件
  • 赣州企业网站建设公司/展示型网页设计公司
  • 域名网站都有怎么进去建设/网络广告策划的步骤
  • dz地方门户模板/榆林市网站seo
  • 政府网站建设怎么做/池州网站seo
  • 设计一个企业网站报价/营销型网站建设套餐
  • 一般的网站是由什么语言做的/金戈枸橼酸西地那非片
  • 网站建设立项说明书/培训机构排名前十
  • 网站公司广州/免费seo快速收录工具
  • 网站建设与管理专业找暑假工/seo站长工具平台