From 1ae0c8d11018ac804be96062c34fcf0d9015ef35 Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Sat, 13 Aug 2016 14:10:39 +0800 Subject: Initial code import Change-Id: I839b84e5600aedece6c33deb16bec1bf9dbb61df Signed-off-by: HuabingZhao --- .../nginx/luaext/loadbalance/balancer.lua | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua (limited to 'openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua') diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua new file mode 100644 index 0000000..ffd9f0a --- /dev/null +++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua @@ -0,0 +1,40 @@ +--[[ + + Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--]] + +local b = require "ngx.balancer" +local policymodule = require "loadbalance.policy.roundrobin" +local log_util = require('lib.utils.log_util') + +local ngx_ctx = ngx.ctx +local log = log_util.log + +local doservernil = function() + ngx.status = ngx.HTTP_NOT_FOUND + ngx.say("no on-line server found!") + return ngx.exit(ngx.status) +end + +local servers = ngx_ctx.backservers +local svckeypattern = ngx_ctx.svcserverpattern +local server,err = policymodule.get_backserver(servers,svckeypattern) +if not server then + doservernil() +end +--b.set_current_peer(server["ip"]..":"..server["port"]) +b.set_current_peer(server["ip"],server["port"]) +log("upstreamserver",server["ip"]..":"..server["port"]) \ No newline at end of file -- cgit 1.2.3-korg