以下基于 OpenResty balancer_by_lua 配置指令, 利用 ngx.crc32_long 根据源地址与目的端口生成hash, 实现一个简单的 ip_hash upstream. 仅供参考

upstream backend{server 0.0.0.0;balancer_by_lua_block {local balancer = require "ngx.balancer"local host = {"192.168.1.111", "192.168.1.112"}local backend = ""local port = ngx.var.server_portlocal remote_ip = ngx.var.remote_addrlocal key = remote_ip..portlocal hash = ngx.crc32_long(key);hash = (hash % 2) + 1backend = host[hash]ngx.log(ngx.DEBUG, "ip_hash=", ngx.var.remote_addr, " hash=", hash, " up=", backend, ":", port)local ok, err = balancer.set_current_peer(backend, port)if not ok thenngx.log(ngx.ERR, "failed to set the current peer: ", err)return ngx.exit(500)endngx.log(ngx.DEBUG, "current peer ", backend, ":", port)}
}server {listen 80;listen 8080;listen 7777;server_name *.x.comlocation / {proxy_pass http://backend;}
}

参考:

https://github.com/openresty/lua-nginx-module

利用 openresty balancer_by_lua 实现一个简单的 ip_hash upstream 调度相关推荐

  1. html与css编程证书,利用CSS布局做一个简单的荣誉证书(代码示例)

    本篇文章将给大家介绍如何使用css布局制作一个简单的荣誉证书,有趣且实用,希望对需要的朋友有所帮助! 那么利用css布局实现简单荣誉证书样式的效果是非常简单的,主要用到以下几个基础属性: backgr ...

  2. 如何利用laragon框架制作一个简单的应用?

    如何利用laragon框架制作一个简单的应用? 一.搭建环境 1. 安装Laragon 1.1 打开安装包用的语言 选择自己习惯用的语言 1.2 选择安装地址 1.3 选择Next,开始install ...

  3. 利用训练数据建立一个简单的分类器

    利用训练数据建立一个简单的分类器 在机器学习领域中,分类指的是利用数据的特性将其分成若干类型的过程.分类器则可以是实现分类功能的任意算法,最简单的分类器就是简单的数字函数.在真实世界中,分类器可以是非 ...

  4. php用户注册功能设计,利用HTML+CSS设计一个简单的用户注册页面【示例】

    本篇文章将要给新手小白们介绍如何使用HTML和css制作简单的注册页面.在开发网站过程中,如果网站内容要求是完善的信息站,那么肯定就离不开用户注册的这个功能.这个用户注册界面对于刚入门的前端新手来说, ...

  5. 利用递归组件实现一个简单的树组件(vue3)

    1. 简言 闲来无事不从容,睡觉东窗日已红. 万物静观皆自得,四时佳兴与认同. 最近学习vue3组件的时候实现了一个简单的树组件.话不多说,直接上代码. 2.效果 这个数组件实现了展开.选中和选择三个 ...

  6. Flexe2.0 学习笔记一(利用PopUpManager来显示一个简单窗体)

    <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mx ...

  7. 利用OpenAI Gym建立一个简单的自动驾驶模拟器

    (长按识别上方二维码,报名第29届IEEE IV大会 ) 如何建立一个简单的自动驾驶汽车模拟器?本文作者蒙特利尔大学专注于编译器设计 Maxime Chevalier 博士,在OpenAI Gym环境 ...

  8. 使用Dreamweaver/利用HTML5/CSS/制作一个简单的文字logo

    一.制作一个简单的logo 1. 结构与样式分析 首先我们根据logo的图片分析logo的效果,该logo由6个字母组成.在使用"数码测色计"测出logo的颜色,这里我们测出log ...

  9. 【ANDROID游戏开发十六】ANDROID GESTURE之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!...

    本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/337.html - ...

  10. 利用Python GUI写一个简单的绘画板

    先说废话,再上代码 这个绘画板主要运用了Python自带的标准GUI库Tkinter,包含了画笔颜色选择,背景布颜色选择,橡皮擦,清屏,保存图片等功能. from tkinter import * f ...

最新文章

  1. SQLite中SELECT基本形式
  2. linux 删除含有关键词的文件_linux下查找包含关键字的文件
  3. pass 软件_以信息化为支撑,合理用药为保障,我院 PASS合理用药系统正式上线!...
  4. 【LeetCode】剑指 Offer 09. 用两个栈实现队列
  5. iso图像测试卡_走进真4K |图像质量测试有哪些“硬”标准?
  6. 基于URL的轻量级恶意页面检测分类器
  7. projecteuler_problem12
  8. 计算机组成原理学习-哈工大《计算机组成原理》第四章-上篇
  9. ABAQUS 有限元仿真分析软件模块介绍
  10. C++ Vector初始化(一维,多维)
  11. 自学C语言的步骤--菜鸟篇
  12. 主成分分析(PCA)详解
  13. 《局域网技术与组网工程实验》学习笔记
  14. TTP223-BA6,TTP223N-BA6功能描述及适用范围;
  15. 无刷直流电机matlab建模,基于MATLAB的无刷直流电机建模方法_郭丹蕊
  16. dtop: 一个基于减法的系统占用率及系统性能测量工具
  17. 计算机音乐谱毛不易,中国内地流行男歌手毛不易歌曲简谱精选
  18. 如何关闭Windows蜂鸣器的嘟嘟声
  19. 笔试中怎么答产品设计类题目
  20. 《Python数据结构与算法分析》第一章课后习题

热门文章

  1. 使用cardview和recycleview时碰到的一些问题
  2. 7.1 pdo 宝塔面板php_腾讯云服务器建站系列 – 熟练宝塔面板部署网站/快速安装HTTPS加密...
  3. 挑战性题目DSCT101:硬币找换问题
  4. 媒体查询(黑马笔记)-移动端布局rem
  5. 移动端学习笔记(黑马教程)-基础概念
  6. Nginx虚拟主机别名的配置
  7. 定时器name冲突会报错吗_在西门子STEP7编程中常用的S5定时器的那些你要知道的事情...
  8. php购物车点击删除,求助 购物车 用session删除 列表的一条
  9. 韩顺平 jdbc 之 mysql,(韩顺平讲解)jdbc学习(四)---java连接mysql
  10. linux php-cli,php cli - shell语言的扩展利器 - Linux进阶, PHP技术 - freemouse-笔记-感悟-成长...