zoukankan      html  css  js  c++  java
  • Nginx 理解四层/七层负载均衡

    负载均衡是当有大量的并发请求来到服务器的时候,我们能够把这些请求分配到多台计算机节点上,让更多的节点来处理请求和响应,如此就可以大大缩减用户请求的等待时间。

    1 四层/七层负载均衡

    OSI网络模型共分为七层,即从用户发起请求到服务器接收需要经过七道工序。七层从上往下分别是应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。

    所谓负载均衡分层,与OSI七层模型相对应。其中七层负载均衡是指Nginx在应用层提供服务,四层表示Nginx在传输层提供服务。

    1.1 四层负载均衡

    四层负载均衡是基于IP+端口的负载均衡,原理是通过转发请求到后台的服务器,它只负责转发并且会记录当前连接是由哪个服务器处理的,后续这个连接的请求就由同一台服务器去处理,其实就是相当于长连接,这个长连接一旦打开就会一直处理连接的状态,它的性能就会非常的高了,四层是基于传输层的,主要基于tcp和udp。

    • F5硬负载均衡:商业级别,很贵

    • LVS四层负载均衡:它是Linux内核的负载,和协议没什么关系,主要是负责转发一些 请求的,它是基于CS端的

    • HA proxy四层负载均衡:同样支持转发功能,并且灵活性非常高,除了做四层以外也能够做七层的负载均衡

    • Nginx 四层负载均衡:既可以做负载均衡也可以做七层负载均衡,可以用于实现四层协议的转发、代理等等

    1.2 七层负载均衡

    是基于URL或IP的负载均衡,是基于应用层的,是针对http协议的一个负载均衡。

    • nginx七层负载均衡 对http协议或者邮箱协议做负载均衡,性能强劲

    • Haproxy 七层负载均衡 灵活性很高

    • apache七层负载均衡协议 灵活性不高,并发达到百万级的话性能会非常地差

    总结:

    1. 四层做负载一般会使用LVS,Nginx更适合做七层负载。
    2. 四层负载均衡主要适用于处理基于tcp、udp协议,重点是用于转发请求,并不是处理请求;七层一般用于处理http协议的,适用于web服务器;七层是会处理请求的,比如它可以去处理静态资源的一些内容,可以进行压缩或者缓存。

    1.3 DNS地域负载均衡

    由DNS服务器来识别,根据IP地址采用就近原则访问最近的服务器

    版权声明:本文为博主原创文章,未经博主允许不得转载。
  • 相关阅读:
    k8s的基本概念与基本功能
    STM32F030看门狗
    STM32F030低功耗
    STM32开发脱坑记
    ubuntu下安装wine并运行source insight
    Linux下使用Eclipse搭建ARM开发环境
    linux下的find文件查找命令与grep文件内容查找命令(转)
    STM32F030 BootLoader与应用程序的跳转设置
    MCU开发之MDK-ARM总结
    IIC协议总结
  • 原文地址:https://www.cnblogs.com/dtyy/p/14199497.html
Copyright © 2011-2022 走看看