summaryrefslogtreecommitdiffstats
path: root/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua
diff options
context:
space:
mode:
Diffstat (limited to 'openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua')
-rw-r--r--openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua24
1 files changed, 14 insertions, 10 deletions
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
index 48dc1d8..ac9bb1d 100644
--- a/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua
+++ b/openresty-ext/src/assembly/resources/openresty/nginx/luaext/loadbalance/balancer.lua
@@ -1,6 +1,6 @@
--[[
- Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE)
+ Copyright (C) 2018 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.
@@ -18,14 +18,16 @@
local b = require "ngx.balancer"
local baseupstream = require "loadbalance.baseupstream"
-local log_util = require('lib.utils.log_util')
-local error_handler = require('lib.utils.error_handler')
+local stats = require "monitor.stats"
+local svc_util = require 'lib.utils.svc_util'
+
+local servers = ngx.ctx.backservers
+local svc_key = ngx.ctx.svc_key
+local svc_info = ngx.ctx.svc_info
+local svc_get_connect_timeout = svc_util.get_connect_timeout
+local svc_get_send_timeout = svc_util.get_send_timeout
+local svc_get_read_timeout = svc_util.get_read_timeout
-local log = log_util.log
-local ngx_ctx = ngx.ctx
-local servers = ngx_ctx.backservers
-local svc_key = ngx_ctx.svc_key
-local error_svc_not_found = error_handler.svc_not_found
local status = b.get_last_failure()
if status == nil then
@@ -35,6 +37,7 @@ elseif status == "failed" then
local last_peer = ngx.ctx.last_peer
--mark the srv failed one time
baseupstream.mark_srv_failed(svc_key,last_peer)
+ stats.backend_failed()
end
local server,err = baseupstream.get_backserver(svc_key,servers)
@@ -46,5 +49,6 @@ if baseupstream.can_retry(svc_key,servers) then
b.set_more_tries(1)
end
b.set_current_peer(server["ip"],server["port"])
---log("upstreamserver",server["ip"]..":"..server["port"])
-ngx.ctx.last_peer = { ip=server["ip"], port=server["port"] } \ No newline at end of file
+b.set_timeouts(svc_get_connect_timeout(svc_info), svc_get_send_timeout(svc_info), svc_get_read_timeout(svc_info))
+ngx.ctx.last_peer = { ip=server["ip"], port=server["port"] }
+stats.forward_backend()