七层负载均衡的实现

基于URL等应用层信息的负载均衡

Nginx的proxy是一个很强大的功能,实现了7层负载均衡

功能强大、性能卓越,运行稳定

配置简单灵活

能自动提出工作不正常的后端服务器

上传文件使用异步模式

支持多种分配策略,可以分配权重

Nginx负载均衡有内置策略,扩展策略两种方式

内置策略

  • IP Hash

    流程和轮询很相似,是一种变相的轮询算法

  • 加权轮询

    首先将请求分给高权重的机器,知道该机器的权值降到了比其他机器低,才开始将请求分给下一个高权重的机器

当所有后端机器都down掉时,Nginx会立即将所有机器的标志位清成初始状态,以避免造成所有的机器都处在timeout的状态

扩展策略

  • fair 策略

    根据后端服务器的响应时间判断负载情况,从中选择出负载最轻的机器进行分流

  • 通用hash

    以nginx内置的变量为key进行hash

  • 一致性hash

    支持mem

Nginx配置方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#nginx.conf
http{
upstream cluster{
server srv1;
server srv2;
server srv3;
}
server {
listen 80;
location / {
proxy_pass http://cluster
}
}
}

四层负载均衡实现

通过报文中的目标和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器

LVS实现服务器集群负载均衡有三种方式NAT,DR,TUN

转载:https://zhyunfe.github.io/2017/10/03/php-interview-prepare-hc-3/

最新文章

  1. WPF显示GIF图的几种方式
  2. SQL 存储过程 解析XML
  3. Spring之实现任务调度
  4. JProfiler9安装 监控Tomcat
  5. Linux_awk命令详解
  6. [ExtJS5学习笔记]第三节 sencha cmd学习笔记 生成应用程序构建的内部细节
  7. 测试驱动开发实践 - Test-Driven Development(转)
  8. word 2010自定义快捷键提高工作效率
  9. IIS-如果外网访问不到 域名
  10. HTTP/2 对 Web 性能的影响(上)
  11. eclipse导入maven web 项目 但是不显示成web 项目
  12. 第五十九篇、OC录制小视频
  13. JAVA学习笔记 -- JDBC及其应用
  14. C#与Java互通AES算法加密解密
  15. 遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件
  16. 神经网络6_CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)概念区分理解
  17. html基础js
  18. H5 31-CSS元素显示模式转换
  19. 集合之HashSet(含JDK1.8源码分析)
  20. Golang 协程调度

热门文章

  1. springboot启动后执行一段代码的方式
  2. Typescript项目注意点和基本类型介绍
  3. phpmyadmin教程
  4. typescript 参数类型
  5. SpringBoot序列化时间类型的问题
  6. 错误:找不到或无法加载主类(myEclipse and IDEA)
  7. Mongodb设置用户权限(整理版)
  8. zentaopms - 禅道项目管理系统部署
  9. c# DES 加密解密方法
  10. php 常用字符串函数总结