阅读769 返回首页    go 阿里云 go 技术社区[云栖]


ngx_lua中的协程调度(四)

ngx_lua中访问多个第三方服务

ngx_lua中提供了ngx.socket API,可以方便的访问第三方网络服务。如下面的代码,通过get_response函数从两个(或者更多)的源服务器获取数据,再生成响应发给客户端。

location / {
    content_by_lua_block {
        local get_response(host, port)
            local sock = ngx.socket.tcp()
            local ok, err = sock:connect(host, port)
            if not ok then
                return nil, err
            end
            local data, err = sock:receive()
            if not data then
                return nil, err
            end

            return data
        end

        local first = get_response("lua.org", 8080)
        local second = get_response("nginx.org", 8080)
        ngx.say(first .. second)
    }
}

最后更新:2017-07-21 09:32:51

  上一篇:go  前端程序员必知的30个Chrome扩展
  下一篇:go  【Rundeck】rundeck自动部署平台安装和迁移