代码编织梦想

nginx的upstream目前支持5种方式的分配

1、轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

2、weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
例如:
upstream bakend {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}

3、ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
例如:
upstream bakend {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}

4、fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
upstream backend {
server server1;
server server2;
fair;
}

5、url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

例:在upstream中加入hash语句,server语句中不能写入weight等其他的参数,hash_method是使用的hash算法

upstream backend {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}

tips:

upstream bakend{#定义负载均衡设备的Ip及设备状态
ip_hash;
server 127.0.0.1:9090 down;
server 127.0.0.1:8080 weight=2;
server 127.0.0.1:6060;
server 127.0.0.1:7070 backup;
}
在需要使用负载均衡的server中增加
proxy_pass http://bakend/;

每个设备的状态设置为:
1.down 表示单前的server暂时不参与负载
2.weight 默认为1.weight越大,负载的权重就越大。
3.max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误
4.fail_timeout:max_fails次失败后,暂停的时间。
5.backup: 其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。

nginx支持同时设置多组的负载均衡,用来给不用的server来使用。

client_body_in_file_only 设置为On 可以讲client post过来的数据记录到文件中用来做debug
client_body_temp_path 设置记录文件的目录 可以设置最多3层目录

location 对URL进行匹配.可以进行重定向或者进行新的代理 负载均衡
要用nginx做负载均衡的话,首先要在配置文件里面定义一组用来负载均衡的后端服务器(backend servers),例如:
upstream backend {
server 192.168.1.11;
server 192.168.1.12;
server 192.168.1.13;
}
那个server指令的语法是 server name [parameters],这里的name是服务器名,可以是域名、ip或者unix socket,也可以指定端口,例如:
server 192.168.1.11:8080;
server指令可用的参数有:
weight —— 设置服务器的权重,默认值是1,权重值越大那么该服务器被访问到的几率就越大,例如 server 192.168.1.11 weight=5;
max_fails和fail_timeout —— 这俩是关联的,如果某台服务器在fail_timeout时间内出现了max_fails次连接失败,那么nginx就会认为那个服务器已经挂掉,从而在 fail_timeout时间内不再去查询它,fail_timeout的默认值是10s,max_fails的默认值是1(这意味着一发生错误就认为服务器挂掉),如果把max_fails设为0则表示把这个检查取消。
举个例子:server 192.168.1.11 max_fails=3 fail_timeout=30s; 这表示,如果服务器192.168.1.11在30秒内出现了3次错误,那么就认为这个服务器工作不正常,从而在接下来的30秒内nginx不再去访问这个服务器。

down —— 表示该服务器已经停用,例如server 192.168.1.11 down;
backup —— 表示该服务器是备用服务器,只有其它后端服务器都挂了或者很忙才会访问到。
关于upstream的更多信息请参考 http://wiki.nginx.org/NginxHttpUpstreamModule
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/White_Lee/article/details/84612257

nginx upstream负责均衡的实现方案-爱代码爱编程

nginx中upstream实现负责均衡的几种方式: 1、轮询(weight=1) 默认选项,当weight不指定时,各服务器weight相同, 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。   upstream bakend { server 192.168.1.10; server 192.

nginx的upstream5种分配方式_j2ee_wqs的博客-爱代码爱编程

Nginx的upstream目前支持5种方式的分配1 轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。2 weight指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:upstream bakend { server 192.168.0.88 weight=10; server

nginx分发算法-爱代码爱编程

nginx分发算法upstream 分发算法有:轮询,weight(权重),ip_hash(每个访客固定访问一个后端服务器),fair(按响应时间分类),url_hash(每个url定向一个后端服务器) 轮询和weight适合静态页面,不适合动态页面 ip_hash 适合动态页面 基于请求分发: 基于host分发基于开发语言分发基于浏览器分发基于源i

nginx分发多台服务器,特殊url分发到指定服务,不同域名分发到不同的服务-爱代码爱编程

轻量级高并发服务器 Nginx配置详解,优势: 1. Nginx可以支持数以百万级别的 TCP 连接 2. Nginx 是一个跨平台服务器 3. Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。 1. nginx入口IP,绑定了多个域名,根据域名转发到不同的端口(或服务器) 例如

Nginx多策略流量分发-爱代码爱编程

1、场景描述 在实际生产环境中,流量分发有很多情况,下面主要讲讲以下两种流量分发场景: 新版本上线,为了保证新版本稳定性,需要用线上的流量的引入,对新版本进行真实流量测试。如果新版本上线有问题,为降低影响范围,我们对流量的引入应该为从小到大的策略。现如今是移动端的时代,而移动端和pc端的设备的不同,需要对移动端和pc的流量进行不同的处理,同时可以针对两

Nginx upstream的5种权重分配方式-爱代码爱编程

Nginx upstream的5种权重分配方式 一、关于Nginx的负载均衡 描述: 负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表: 二、Nginx负载均衡策略 负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台

Nginx 配置实例-负载均衡05-爱代码爱编程

Nginx 配置实例-负载均衡05 实现效果:配置负载均衡     实验代码 1 ) 首先准备两个同时启动的 Tomcat 2 ) 在 nginx.conf 中进行配置   随着互联网信息的爆炸性增长,负载均衡(load ba

Nginx负载均衡四种分配策略-爱代码爱编程

Nginx提供了几种分配方式(策略) 1、轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器宕机,能自动剔除掉。 2、weight weight代表权重,默认为1,权重越高被分配的客户端越多。 指定轮询几率,weight和访问比率成正比,用户后端服务器性能不均的情况。例如: upstream myserver {

使用 Nginx 搭建应用分发服务-爱代码爱编程

使用 Nginx 搭建应用分发服务 安装 Nginx使用静态文件服务器发布 Android 应用使用 HTTPS 服务发布 IPA 和 APK遇到的问题 很多时候手机 App 的开发需要提供测试版本供测试人员测试,但是直接提供安装包让测试人员安装的话是非常麻烦的,尤其是ios版本,许多人并不知道除了AppStore之外的其它安装方式。为此,搭建一

linux nginx分发,Nginx根据URL分发的2种方法,不过配置就稍显复杂了-爱代码爱编程

Nginx根据URL分发的2种方法,不过配置就稍显复杂了 1、第一种方法:使用Nginx Http pstream Request Hash Module的方式,增加或减少机器时所引起的hash全部错乱的问题还是很令人担心,所以经过一段时间细致思考,觉得由自己手工制定并实现url hash规则,然后利用Nginx的location标签或if语法来实现

nginx 负载均衡的三种分发方式-爱代码爱编程

link 负载均衡的分发方式 轮询机制 最少连接机制 ip-hash 机制 轮询机制-按照权重轮询 最简单的负载均衡配置如下: http { upstream myapp1 { server srv1.example.com; server srv2.example.com; serve

使用nginx反向代理简单实现服务分发-爱代码爱编程

我们在实际开发中后端其实经常会有很多的微服务,因此接口地址有很多,但是前端中只有一个api地址的配置位置。 这时我们可以使用nginx反向代理让不同的api路径分发到对应的服务器中 要使用nginx我们需要先安装到我们的电脑上,nginx有Linux版本的也有Windows版本的,Linux版的功能相对来说会更加强大一些。这里我们用Windows版做一下

nginx负载均衡及分发设定-爱代码爱编程

配置文件所在目录 nginx目录/conf/nginx.conf 配置文件举例 #user  nobody;worker_processes  4; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log

Nginx负载均衡+转发策略-爱代码爱编程

负载均衡 负载均衡(详解)https://cloud.tencent.com/developer/article/1526664 --示例1 upstream www_server_pool { server 10.0.0.5; server 10.0.0.6:80 weight=1 max_fails=1 fails_timeou

dds(数据分发服务)技术_dds topic-爱代码爱编程

DDS(Data Distribution Service)是以数据为中心,定义描述网络环境下数据内容/交互行为和服务质量要求的标准技术,2013年,发布了专门为实时系统设计的数据分发/订阅标准。 DDS发布订阅模型 DDS以数据为中心的发布--订阅模型为所有分布式节点之间建立了一个虚拟共享的全局数据空间GDS。在该模型下分布式节点在网络上以发布或订阅