nginx 负载均衡策略

1. 轮询

轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:

upstream backend {
   server backend1.example.com;
   server backend2.example.com;
}

这种情况是每个server都使用相同的权重,默认值为1

可以手动设定权重,例如

upstream backend {
   server backend1.example.com weight=5;
   server backend2.example.com;
}

2. 最少连接数

把请求发送给激活连接数最少的那台服务器

设置方式

upstream backend {
least_conn;
    server backend1.example.com;
    server backend2.example.com;
}

3. 最少延时

把请求发送给连接延时最小的那台服务器

延时的计算方式有两种:

(1)header - 从server接收到第一个byte的时间

(2)last_byte - 从server接收到全部响应的时间

设置方式

upstream backend {
least_time header;
    server backend1.example.com;
    server backend2.example.com;
}

4. ip hash

根据用户IP计算出一个hash值,并记录下来,以后相同hash值的请求都发送到同一个server,同一个用户的请求始终使用同一台服务器,不用担心跨服务器时的session问题

设置方式

upstream backend {
ip_hash;
    server backend1.example.com;
    server backend2.example.com;
}

5. 通用hash

对用户指定的key进行hash计算,可以指定文本、变量或者组合

设置方式

upstream backend {
hash $request_uri consistent;
    server backend1.example.com;
    server backend2.example.com;
}

原文发布于微信公众号 - 性能与架构(yogoup)

原文发表时间:2015-09-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

数据迁移工具简单分析 (r2笔记59天)

exp/imp 对于数据结构的复制和同步,还是比较理想的工具。 在数据量比较小的情况下,这个工具的性能要远远好于datapump,而且重点推荐,他对于各种常用...

2875
来自专栏云计算与大数据

架构: UMA vs NUMA

所有处理器共享相同的内存地址空间。这种体系结构主要解决的问题是关于cache一致性。

1911
来自专栏云加头条

智能云上手指南:如何将历史数据迁移到万象优图

6 月 21 日,腾讯云在 2017「云+未来」峰会上推出了战略新品——智能云,宣布将腾讯积累近 20 年的 AI 能力向政府、企业和开发者开放,其中首批开放计...

3623
来自专栏大魏分享(微信公众号:david-share)

咦,如何通过容器同时实现:灰度发布+滚动发布?

(1) 蓝绿部署:不停止老版本,额外搞一套新版本,等测试发现新版本OK后,删除老版本。

8564
来自专栏玄魂工作室

利用Png做持久型XSS攻击

关于文件上传漏洞,其实是老生常谈了,其实很多网站都做了很严格的控制。这里我们不去谈如何突破文件上传,而是假设我们能上传一张图片,然后当成html嵌入或者执行。 ...

1482
来自专栏匠心独运的博客

分布式定时任务Elastic-Job框架在SpringBoot工程中的应用实践(二)

文章摘要:在生产环境中部署Elastic-Job集群后,那么如何来运维监控线上跑着的定时任务呢? 如果在生产环境的大规模服务器集群上部署了集成Elastic-...

2062
来自专栏Spark学习技巧

kafka的编程模型

2204
来自专栏沃趣科技

Oracle中的sysctl.conf内核参数

当我们对Oracle进行安装部署时,需要按照相关要求修改OS内核参数,下面对Oracle按照部署时需要修改的相关内核参数进行简单介绍。

1403
来自专栏逆向技术

脱壳第三讲,UPX压缩壳,以及补充壳知识

           脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 ...

2768
来自专栏牛客网

知识总结:I/O模型基础I/O基础

I/O基础 1、java1.4之前,java对I/O支持不完善,存在以下问题: 没有数据缓冲区,I/O性能存在问题。 没有C或者C++的channel概念,只...

3779

扫码关注云+社区

领取腾讯云代金券