部署-->Nginx负载均衡

在nginx中的负载均衡主要有两种:四层负载(IP:Port)、七层负载(http://xxx)

nginx upstream模块

upstream backend {
server backend1.example.com weight=5;
server backend2.example.com:8080;
server unix:/tmp/backend3;
}
server {
location / {
proxy_pass http://backend;
}
}

1. 属性解释

  • upstream: 主要是定义一个后端服务地址的集合列表,每个后端服务使用一个server命令表示
  • upstream {} 和 Server {} 两部分内容属于平级关系

2. 后端常用状态
在upstream模块中,可以使用server命令指定后端服务器的地址,同时还可以设置后端服务器在负载均衡调度中的状态,常用的状态有以下几种:

  • down: 逻辑宕机,表示当前server主机暂时不参与负载均衡
  • backup:后备主机,当所有非backup机器出现故障或者繁忙的时候,才会请求backup机器
  • max_fails:允许请求的最大失败数,默认为1,配合fail_timeout一起使用
  • fail_timeout:经历max_fails次失败后,暂停服务的时间,默认为10s

负载均衡调度算法:

1. 内置策略

  • 雨露均沾型:轮训、加权轮训、哈希
  • 定向服务型:ip_hash、least_conn、cookie、route、lean、
  • 商业类型:ntlm、least_time、queue、stick

2. 扩展策略

  • 扩展策略:各种结合业务场景自定义的算法或者第三方算法
    • 第三方算法:fair、url_hash

常用算法简介

  • 轮询(默认):请求按顺序逐一分配到不同的后端服务器
  • weight:指定轮询权重,值越大,分配到的几率就越高,适用于后端服务器性能不均衡情况
  • ip_hash:按访问 IP 的哈希结果分配请求,分配后访客访问固定后端服务器,有效的解决动态网页会话共享问题
  • fair:基于后端服务器的响应时间来分配请求,响应时间短的优先分配
  • url_hash:按访问 URL 的哈希结果分配请求,使同 URL 定向到同一台后端服务器,可提高后端缓存服务器的效率
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 《老男孩Linux运维》Nginx Documentation 集群简介 集群就是指一组(若干)相互独立的计算机,...
    Zhang21阅读 8,726评论 0 51
  • 四层负载均衡:仅仅建立一次 TCP 连接 七层负载均衡:负载均衡器与客户端及后端的服务器会分别建立一个 TCP 连...
    养码哥阅读 5,513评论 0 6
  • 摘要:面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采...
    layjoy阅读 14,716评论 3 93
  • linux负载均衡总结性说明(四层负载/七层负载) 一,什么是负载均衡1)负载均衡(Load Balance)建立...
    phpdi阅读 3,214评论 0 0
  • 一、什么是负载均衡? 互联网早期,业务流量比较小并且业务逻辑比较简单,单台服务器便可以满足基本的需求;但随着互联网...
    彬彬酱阅读 6,584评论 0 19

友情链接更多精彩内容