大家好! 我们实现了一个后端服务动态系统,后端服务信息存放在redis中,openresty 通过查询redis中信息正确转发到后端服务。当后端是集群类型时,不知道有什么办法能动态改变upstream? 例如,我们有一个upstream1,现在需要新增一个集群 2 则对应需要动态添加一个 upstream2,当集群2撤销,则对应需要动态删除 upstream2。不知道有什么方案 --
看一下这个分之:https://github.com/openresty/lua-nginx-module/tree/balancer-by-lua可以从测试用例中挖掘一下使用方法。2015-11-25 1:12 GMT+08:00 Ping He <mzhx...@gmail.com>:大家好! 我们实现了一个后端服务动态系统,后端服务信息存放在redis中,openresty 通过查询redis中信息正确转发到后端服务。当后端是集群类型时,不知道有什么办法能动态改变upstream? 例如,我们有一个upstream1,现在需要新增一个集群 2 则对应需要动态添加一个 upstream2,当集群2撤销,则对应需要动态删除 upstream2。不知道有什么方案 -- -- MembhisMy github: https://github.com/membphisOur Book: OpenResty Best Practices
我理解 balancer-by-lua 只能做到,在启动时就有的upstream中,能做到自定义负载算法及调度、动态增加删除server成员。但没有办法新增或删除 upstream,是这样的吗?
在 2015年11月25日星期三 UTC+8上午10:02:31,YuanSheng Wang写道:看一下这个分之:https://github.com/openresty/lua-nginx-module/tree/balancer-by-lua可以从测试用例中挖掘一下使用方法。2015-11-25 1:12 GMT+08:00 Ping He <mzhx...@gmail.com>:大家好! 我们实现了一个后端服务动态系统,后端服务信息存放在redis中,openresty 通过查询redis中信息正确转发到后端服务。当后端是集群类型时,不知道有什么办法能动态改变upstream? 例如,我们有一个upstream1,现在需要新增一个集群 2 则对应需要动态添加一个 upstream2,当集群2撤销,则对应需要动态删除 upstream2。不知道有什么方案 -- -- MembhisMy github: https://github.com/membphisOur Book: OpenResty Best Practices --
Hello,在 2015年11月27日 上午6:49,Ping He <mzhx...@gmail.com>写道:我理解 balancer-by-lua 只能做到,在启动时就有的upstream中,能做到自定义负载算法及调度、动态增加删除server成员。但没有办法新增或删除 upstream,是这样的吗?因为 balancer_by_lua 是高度灵活的所以,可以不必像传统玩法里那样一个上游域对应一个 upstream,可以多个上游在同一个 upstream 里完成分发,甚至全局共享一个 upstream 也是可以,毕竟分发策略已经高度可定制了但是有一个点需要注意的是:同一个 upstream 的 连接池 是共享的,如果 keepliave 值太小的话,可能会出现高频上游域霸占连接池的情况(当然,一般场景下,这也是足够了,如果依赖很高的话,需要注意一下)这也是春哥这么说的部分原因:“还可以再实现一个与之配合的同样灵活的 upstream 连接池模块”(cosocket 的连接池,比 upstream 的连接池更加灵活) 在 2015年11月25日星期三 UTC+8上午10:02:31,YuanSheng Wang写道:看一下这个分之:https://github.com/openresty/lua-nginx-module/tree/balancer-by-lua可以从测试用例中挖掘一下使用方法。2015-11-25 1:12 GMT+08:00 Ping He <mzhx...@gmail.com>:大家好! 我们实现了一个后端服务动态系统,后端服务信息存放在redis中,openresty 通过查询redis中信息正确转发到后端服务。当后端是集群类型时,不知道有什么办法能动态改变upstream? 例如,我们有一个upstream1,现在需要新增一个集群 2 则对应需要动态添加一个 upstream2,当集群2撤销,则对应需要动态删除 upstream2。不知道有什么方案 -- -- MembhisMy github: https://github.com/membphisOur Book: OpenResty Best Practices --