美文网首页
部署-->Nginx负载均衡

部署-->Nginx负载均衡

作者: fe3e18c7aab5 | 来源:发表于2019-06-02 20:31 被阅读0次

在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 定向到同一台后端服务器,可提高后端缓存服务器的效率

相关文章

网友评论

      本文标题:部署-->Nginx负载均衡

      本文链接:https://www.haomeiwen.com/subject/kckfxctx.html