博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nginx负载均衡
阅读量:6403 次
发布时间:2019-06-23

本文共 1824 字,大约阅读时间需要 6 分钟。

1. 负载均衡

1.1. 什么是负载均衡

负载均衡其实就是负载均衡器。分两种:四层负载均衡器,七层负载均衡器。

四层负载均衡器 vs 七层负载均衡器

四层负载均衡器:主要在传输层实现负载均衡。主要针对于TCP协议

七层负载均衡器:主要在应用层实现负载均衡。主要针对于HTTP协议

 

1.2. 负载均衡的作用

 

负载均衡就是,将所有请求先到负载均衡器,在由负载均衡器采用负载均衡算法(轮询IP绑定、权重)分发到不同实际的服务器中,这也就是服务器集群,集群的目的是为了减轻单台服务器压力

 

 

1.3. 负载均衡的缺点

 

当我们搭建集群使用负载均衡后会出现的一些问题:

分布式session一致性问题(session一致)

分布式job幂等性问题(任务重复调用)

分布式生成全局ID(id不能重复)

分布式锁解决方案

分布式配置中心

分布式日志收集系统

 

1.4. Upstream配置负载均衡

 

如果一个服务由多服务器提供,需要把负载分配到不同的服务器处理,需要负载均衡。

1 #配置负载均衡 2 upstream test1{ 3       server 127.0.0.1:8080; 4       server 127.0.0.1:8081; 5     } 6  7     server { 8         listen       80; 9         server_name  www.oyr.com;10 11         location / {12             #反向代理到负载均衡13             proxy_pass http://test1;14             index  index.html index.htm;15         }16     }

 

1.5. 负载均衡算法

负载均衡常用算法:

(1)轮询机制(nginx自带,默认就是轮询机制)

轮流访问,非常均匀,应用场景:服务器的配置都相同的情况下。

 

(2)权重机制(nginx自带)

使用weight配置权重,权重越高,请求越多。应用场景:在服务器配置不相同的情况下

1 #配置权重2 upstream tomcat2 {3        server 192.168.25.148:8081 weight=1;4        server 192.168.25.148:8082 weight=4;5     }

 

(3)ip绑定(nginx自带)

通过nginx获取ip地址,通过hash运算固定的分配到某台机器上。Ip绑定可以解决session共享问题。一个客户端只固定请求一台服务器session共享问题被解决。

待实现

 

(4)fail(第三方)

 待实现

 

5)url绑定(第三方)

 待实现

 

绝大多数情况下,配置负载均衡都是根据服务器的性能。

 

1.6. 配置故障转移

 

当上游服务器(真实访问服务器),一旦出现故障或者是没有及时响应的话,应该直接轮训到下一台服务器,保证服务器的高可用。

1 server { 2         listen       80; 3         server_name  www.itmayiedu.com; 4         location / { 5             ### 指定上游服务器负载均衡服务器 6             proxy_pass http://backServer; 7         ###nginx与上游服务器(真实访问的服务器)超时时间 后端服务器连接的超时时间_发起握手等候响应超时时间 8             proxy_connect_timeout 3s; 9             ###nginx发送给上游服务器(真实访问的服务器)超时时间10             proxy_send_timeout 3s;11             ### nginx接受上游服务器(真实访问的服务器)超时时间12             proxy_read_timeout 3s;13             index  index.html index.htm;14         }15     }

 

转载于:https://www.cnblogs.com/itoyr/p/10072379.html

你可能感兴趣的文章
Linux Foundation(笔记)
查看>>
Java学习第二十五天
查看>>
vim配置
查看>>
ubuntu 把软件源修改为国内源和更新
查看>>
随机产生四则运算,导入导出文件
查看>>
位运算符
查看>>
winform自定义控件
查看>>
C#编码好习惯
查看>>
避其锋芒,侧翼出击。——司马亮创业回忆录(一)
查看>>
scope
查看>>
删除链表中储存给定值的节点
查看>>
vCPU估算的几个基本概念
查看>>
DoraCMS 源码知识点备注
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>