七层负载均衡

简单解说:

==============================================================

一、集群的分类:(cluster)
1、高可用集群 HA high availability
避免单节点故障
软件:keepalived

2、负载均衡集群 LB load balance
提高负载,提高并发量
软件:nginx反向代理 lvs
硬件:硬件负载均衡器 F5(BigIP)和redware

3、 HPC高性能运算集群

4、分布式存储集群
极大的提升存储容量,提供数据高可用,保证数据安全
软件:ceph glusterfs hdfs


二、Nginx proxy 是 Nginx 的王牌功能,利用 proxy 基本可以实现一个完整的 7 层负载均。

  1. 功能强大,性能卓越,运行稳定。
  2. 配置简单灵活。
  3. 能够自动剔除工作不正常的后端服务器。
  4. 上传文件使用异步模式。
  5. 支持多种分配策略,可以分配权重,分配方式灵活。

三、七层负载均衡与四层负载均衡:

lvs和nginx的区别:
nginx:
nginx可以用来做http的反向代理,在配置文件中使用upstream实现http请求的多种方式的均衡转发。
由于采用的是异步转发可以做到如果一个服务器请求失败,立即切换到其他服务器,直到请求成功或者最后一台服务器失败为止。这可以最大程度的提高系统的请求成功率。
lvs:
lvs采用的是同步请求转发的策略。
这里说一下同步转发和异步转发的区别。同步转发是在lvs服务器接收到请求之后,立即redirect(重定向)到一个后端服务器,由客户端直接和后端服务器建立连接。异步转发是nginx在保持客户端连接的同时,发起一个相同内容的新请求到后端,等后端返回结果后,由nginx返回给客户端。

进一步来说:当作为负载均衡服务器的nginx和lvs处理相同的请求时,所有的请求和响应流量都会经过nginx;但是使用lvs时,仅请求流量经过lvs的网络,响应流量由后端服务器的网络返回。

也就是,当作为后端的服务器规模庞大时,nginx的网络带宽就成了一个巨大的瓶颈。
但是仅仅使用lvs作为负载均衡的话,一旦后端接受到请求的服务器出了问题,那么这次请求就失败了。但是如果在lvs的后端在添加一层nginx(多个),每个nginx后端再有几台应用服务器,那么结合两者的优势,既能避免单nginx的流量集中瓶颈,又能避免单lvs时一锤子买卖的问题。

==============================================================

四、具体配置

设置环境:

1、关闭防火墙,selinux

2、域名解析
vim /etc/hosts

一台客户机:client

不用做任何操作,但要保证网络能通
在网页中输入代理的ip,若测试动态页面,在ip后面加上index.php

一台代理:nginx-dr

1、安装nginx

2、修改nginx配置文件
[root@nginx-dr ~]# vim /etc/nginx/nginx.conf
注:在http中加入upstream,在server中location正则匹配动静态网页

3、重启nginx
systemctl restart nginx

两台做静态网页:web1,web2

web1:
1、下载apache
yum -y install httpd

2、进入网页配置文件,添加apache静态网页
[root@web1 ~]# cd /var/www/html/
[root@web1 html]# vim index.html
web1 apache

3、启动apache

web2:
1、下载nginx
[root@web2 ~]# yum -y install nginx

2、进入网页配置文件,添加nginx静态网页
[root@web2 ~]# cd /usr/share/nginx/html/
[root@web2 html]# vim index.html
web2 nginx

3、启动nginx

两台做动态网页:php1,php2

php1:
1、下载apache、php
[root@php1 ~]# yum -y install httpd php

2、进入网页配置文件,添加apache动态网页
[root@php1 ~]# cd /var/www/html/
[root@php1 html]# vim index.php

3、启动apache
[root@php1 ~]# systemctl restart httpd

php2:
1、下载nginx、php、php-fpm
[root@php2 ~]# yum -y install nginx php php-fpm

2、进入网页配置文件,添加nginx动态网页
[root@php2 ~]# cd /usr/share/nginx/html/
[root@php2 html]# vim index.php

3、进入php-fpm的配置文件
[root@php2 ~]# vim /etc/nginx/nginx.conf

4、进入nginx的配置文件
[root@php2 ~]# vim /etc/php-fpm.d/www.conf

5、启动nginx、php-fpm
[root@php2 ~]# systemctl restart nginx
[root@php2 ~]# systemctl restart php-fpm

测试:
直接在页面中输入代理机的ip,就可以了

<不太完整请见谅!>

转载于:https://blog.51cto.com/13765357/2150937

七层负载均衡 nginx相关推荐

  1. Nginx七层负载均衡配置

    Nginx七层负载均衡 Nginx要实现七层负载均衡需要用到proxy_pass代理模块配置.Nginx默认安装支持这个模块,我们不需要再做任何处理.Nginx的负载均衡是在Nginx的反向代理基础上 ...

  2. FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡

    ###Interesting things lvs+nginx的拓扑图 准备环境,基于上一篇[Diary Report 2018-1-3]关于FastDFS蛋疼的集群和负载均衡(十三)之LVS-DR环 ...

  3. l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...

    阅读前的小说明: 由于工作需要,本人正在研究微服务架构.而微服务的服务网格( Service Mesh )架构中,需要选择一种 proxy 作为每个微服务之间通讯的代理.因此为了定夺微服务中常用的两种 ...

  4. 四层和七层负载均衡的特点及常用负载均衡Nginx、Haproxy、LVS对比

    一.四层与七层负载均衡在原理上的区别 图示: 四层负载均衡与七层负载均衡在工作原理上的简单区别如下图: 概述: 1.四层负载均衡工作在OSI模型中的四层,即传输层.四层负载均衡只能根据报文中目标地址和 ...

  5. nginx的七层负载均衡

    目录 1.负载均衡介绍 四层负载均衡 七层负载均衡 四层和七层的区别 2.nginx的配置文件 3.实验 测试 1.负载均衡介绍 四层负载均衡 所谓四层负载均衡是指OSI七层模型中的传输层, 那么传输 ...

  6. Nginx七层负载均衡原理解析

    一.网络协议:应用层 七层负载均衡主要工作在网络七层ISO协议的第七层,即应用层.由于在应用层主要是处理对应的应用层协议的相关数据,如HTTP协议,而无法操作传输层TCP连接相关细节,故在七层负载均衡 ...

  7. 常见的服务器集群负载均衡技术:二三四七层负载均衡,DNS、LVS、F5、nginx负载均衡

    服务器集群负载均衡技术 LB:load balance负载均衡器.有时也叫做director. DNS负载均衡 DNS负载均衡,最基础的是轮询方式,循环返回不同的服务器IP地址.可以同时返回多个服务器 ...

  8. 四层和七层负载均衡的区别

    负载均衡设备也常被称为"四到七层交换机",那补充: 所谓四层就是基于IP+端口的负载均衡:七层就是基于URL等应用层信息的负载均衡:同理,还有基于MAC地址的二层负载均衡和基于IP ...

  9. 网络七层协议_Nginx七层负载均衡原理解析

    一.网络协议:应用层 七层负载均衡主要工作在网络七层ISO协议的第七层,即应用层.由于在应用层主要是处理对应的应用层协议的相关数据,如HTTP协议,而无法操作传输层TCP连接相关细节,故在七层负载均衡 ...

最新文章

  1. 连通域最小外接矩形算法原理_基于分割的文本检测算法之PSENet/PAN/DBNet
  2. ThreadLocal是否会引发内存泄露的分析 good
  3. 塑料:泡两天澡我就消失了?酶降解塑料居然可以这么快 | Nature
  4. python画散点图类型-python学习之matplotlib绘制散点图实例
  5. C++的inline函数
  6. 反思网络中的观点:太过杂乱 需要很强的甄别能力
  7. QT线程使用收集示例
  8. 从一个简洁的进度刻度绘制中了解自定义 View 的思路流程
  9. Chrome插件(扩展)
  10. 3.live555源码分析----延时队列
  11. Variant类型转换成CString代码
  12. 多个vue项目合并成一个_再见Vlookup,合并多个表格发现一个最简单方法
  13. 每天Leetcode 刷题 初级算法篇-数学问题-计数质数
  14. python工具包: argparse
  15. CAP--什么是CAP,为何三者不可兼得
  16. [VB.NET]浅谈MDI窗体的多窗体编程
  17. 鸿蒙荣耀magic2,荣耀Magic2亮相:近100%屏占比+麒麟980+40W超级快充
  18. 教育一对一直播软件开发的优势是什么?
  19. 什么是sq注入及解决
  20. 5G中CRC table的生成

热门文章

  1. 系统集成3月9日作业
  2. 集成服务入门(实验9)日志记录和邮件通知
  3. spring2.5 mvc使用注解upload上传文件
  4. 交叉编译器工具链的使用
  5. php acl控制,用PHP怎么实现一个ACL系统?
  6. 服务器用户设置备份,用户管理的备份
  7. Python入门之编程与编程语言
  8. Python帮助Youtube打败了Google Video
  9. python判断是否回文_对python判断是否回文数的实例详解
  10. python函数第二次运行报错_Python学习笔记2-函数、高级特性