其实就是把get_servers改成了get_primary_peers,本地写了个死循环一直在请求站点,然后看状态发现只有checked 一直在更改,conns无任何变化
代码如下:
local concat = table.concat
local upstream = require "ngx.upstream"
local get_peers = upstream.get_primary_peers
local get_upstreams = upstream.get_upstreams
local us = get_upstreams()
for _, u in ipairs(us) do
ngx.say("upstream ", u, ":")
local srvs, err = get_peers(u)
if not srvs then
ngx.say("failed to get servers in upstream ", u)
else
for _, srv in ipairs(srvs) do
local first = true
for k, v in pairs(srv) do
if first then
first = false
ngx.print(" ")
else
ngx.print(", ")
end
if type(v) == "table" then
ngx.print(k, " = {", concat(v, ", "), "}")
else
ngx.print(k, " = ", v)
end
end
ngx.print("\n")
end
end
end