local balancer_resty = require("balancer.resty") local resty_roundrobin = require("resty.roundrobin") local util = require("util") local setmetatable = setmetatable local _M = balancer_resty:new({ factory = resty_roundrobin, name = "round_robin" }) function _M.new(self, backend) local nodes = util.get_nodes(backend.endpoints) local o = { instance = self.factory:new(nodes), traffic_shaping_policy = backend.trafficShapingPolicy, alternative_backends = backend.alternativeBackends, } setmetatable(o, self) self.__index = self return o end function _M.balance(self) return self.instance:find() end return _M