From 4143173cd08ef515173e5ad4b4c15d4e9f9f1943 Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Wed, 17 Aug 2016 12:37:07 +0800 Subject: 1. Adjust the directory hierarchy 2. Fix the compile issue Change-Id: Ibf10c83104e5e673bc797013799861426cd950ce Signed-off-by: HuabingZhao --- .../nginx/luaext/loadbalance/balancer.lua | 40 --------------- .../nginx/luaext/loadbalance/policy/roundrobin.lua | 60 ---------------------- 2 files changed, 100 deletions(-) delete mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua delete mode 100644 openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/policy/roundrobin.lua (limited to 'openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance') 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 deleted file mode 100644 index ffd9f0a..0000000 --- a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua +++ /dev/null @@ -1,40 +0,0 @@ ---[[ - - 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 diff --git a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/policy/roundrobin.lua b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/policy/roundrobin.lua deleted file mode 100644 index 986d04e..0000000 --- a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/policy/roundrobin.lua +++ /dev/null @@ -1,60 +0,0 @@ ---[[ - - 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 _M = {} -_M._VERSION = '1.0.0' - -local tbl_util = require('lib.utils.table_util') -local tbl_isempty = tbl_util.isempty - -function _M.get_backserver(servers,svckey) - if tbl_isempty(servers) then return nil,"input server list is empty" end - - local length = #servers - if length==1 then - -- return it directly if there is only one server - return servers[1],nil - end - - local resty_lock = require "resty.lock" - local roundrobin_cache = ngx.shared.rr_cache - - --step1:acquire lock - local opts = {["timeout"] = 0.002,["exptime"] = 0.05}--this can be set using the conf file - local rrlock = resty_lock:new("rr_locks",opts) - local elapsed, err = rrlock:lock(svckey) - if not elapsed then - --return fail("failed to acquire the lock: ", err) - end - --step2:lock successfully acquired!incr the index - local index, err = roundrobin_cache:get(svckey) - if not index then - index = 0 - end - index = index%length+1 - - --step3:update the shm cache with the new index - roundrobin_cache:set(svckey,index) - - --step4:release the lock - local ok, err = rrlock:unlock() - - return servers[index],nil -end - -return _M \ No newline at end of file -- cgit 1.2.3-korg