Hue Load Balance配置

个人博客地址:Hue Load Balance配置 | 一张假钞的真实世界

直接上配置:

复制代码
server {
  server_name 192.168.72.31;
  listen 8001;
  
  charset utf-8;
  
  proxy_connect_timeout 600s;
  proxy_read_timeout 600s;
  proxy_send_timeout 600s;
  
  location / {
    proxy_set_header Host $http_x_forwarded_for;
    proxy_set_header X-Forwarded-For $http_x_forwarded_for;
    
    proxy_pass http://hue;
  }
}

upstream hue {
  hash $cookie_sessionid;
  
  server 192.168.72.22:8888 max_fails=3;
  server 192.168.72.31:8888 max_fails=3;
}

重点是调整upstream hash的策略。因为Hue是需要保持session的,同一个session的请求需要发送到同一台后端服务器上。简单的可以采用ip_hash策略,这个策略存在两个重要的问题:

  • 对隐藏在局域网后的用户不起作用。
  • ip_hash只取IPV4的前三段值做Hash,在非公网大并发场景下会出现负载非常不均衡的情况。参见:Module ngx_http_upstream_module

基于以上两点修改了Nginx的配置采用$cookie_sessionid做为hash值,达到session级别的负载均衡。

主要的问题其实是这种方式未做到按照后端服务器实际负载再按照session级别来分配请求。后续打算研究HAProxy是否可以做到。

相关推荐
朱剑君7 分钟前
第十天——贪心算法——深度总结
算法·贪心算法
序属秋秋秋43 分钟前
《数据结构初阶》【二叉树 精选9道OJ练习】
c语言·数据结构·c++·算法·leetcode
Tiny番茄1 小时前
LeetCode 235. 二叉搜索树的最近公共祖先 LeetCode 701.二叉搜索树中的插入操作 LeetCode 450.删除二叉搜索树中的节点
数据结构·算法·leetcode
S01d13r7 小时前
LeetCode 解题思路 48(编辑距离、只出现一次的数字)
算法·leetcode·职场和发展
C_Liu_7 小时前
C语言:深入理解指针(5)
java·c语言·算法
small_wh1te_coder7 小时前
从经典力扣题发掘DFS与记忆化搜索的本质 -从矩阵最长递增路径入手 一步步探究dfs思维优化与编程深度思考
c语言·数据结构·c++·stm32·算法·leetcode·深度优先
枫景Maple7 小时前
LeetCode 45. 跳跃游戏 II(中等)
算法·leetcode
এ᭄画画的北北7 小时前
力扣-236.二叉树的最近公共祖先
算法·leetcode
z人间防沉迷k9 小时前
堆(Heap)
开发语言·数据结构·笔记·python·算法
不二狗9 小时前
每日算法 -【Swift 算法】Two Sum 问题:从暴力解法到最优解法的演进
开发语言·算法·swift