首页 > 技术文章 > 负载均衡配置

qczy 2019-09-09 10:15 原文

网络层  七层  TCP/IP  五层

load balance  LB

四层负载均衡  网络传输层   转发网络  haproxy   lvs  

七层负载均衡  应用层  反向代理方式   haproxy  nginx

问题:四层负载均衡和七层负载均衡优缺点?

①四层负载均衡,直接网络转发,效率更高,没有判断请求的来源等功能,不能够抵御ddo

②七层负载均衡 智能型负载均衡 基于url进行负载均衡 可以判断用户的来源等相关操作  nginx作为应用型防火墙

 

 

1、负载均衡原理图

 

 

此架构,最少需要三台服务器

通过虚拟机克隆的方式,快速拥有多台虚拟机

克隆虚拟机操作步骤:

注意克隆虚拟机,虚拟机必须处于关机状态

 

 

 

 

 

 

 

 

 

负载均衡服务器  lnmp  192.168.19.101

Web服务器1  lnmp1  192.168.19.102

Web服务器2  lnmp2  192.168.19.103

2、实战Nginx负载均衡服务器

 

 

①配置虚拟机为lnmp的nginx服务器的负载均衡

 

 

注意web1和web2的ip,要填写正确。

②用户访问域名解析到负载均衡服务器[虚拟机lnmp]

③启动多台服务器的服务

负载均衡只需启动nginx即可

其他需要启动nginx和php-fpm

为了识别分发,可以在不同web服务器写入不同的识别信息,真是环境下不需要。

nginx中实现的负载均衡算法5种,官方支持默认3种

①rr轮询算法

②权重算法  weight 设置分发的权重

 

 

③ip_hash   同样的ip来源,请求同一个服务器

 

 

2、SESSION丢失问题

不同的服务器,需要同一个session判断用户的状态。

默认session是存储到服务器的硬盘文件中,不能够共享

session丢失会造成以下问题:

①用户状态无法判断  用户是否登录

②验证码没有办法验证  验证码生成值和校验的服务器不在一起

解决方案:

入库 memcache mysql  redis

tp5项目中,直接在配置文件配置即可,注意memcache启动和允许远程连接,php的memcached对应扩展一定要安装。

 

 

②磁盘网络映射 磁盘共享方式  nfs

③ip_hash hash一致性  让同一个用户访问同一台服务器

 

推荐阅读