【发布时间】:2018-05-01 23:40:13
【问题描述】:
我一直在实现一个 kong 插件,它需要发出 HTTP 请求来检索信息以与上游服务共享它。
有一个名为lua-resty-http 的优秀库可用于发出 HTTP 请求。
包含需要信息的服务,在proxy后面配置,匹配路径:/endpoint-providing-info.
我们的目标是依靠代理功能来避免解析具有与该问题无关的特定形式的主机名。
通过玩耍,我能够通过执行以下操作来实现所需的行为:
local ok, err = http_client:connect("127.0.0.1", ngx.var.server_port)
if not ok and err then return nil, 'there was a failure opening a connection: ' .. err
local res, err = http_client:request({
method = 'GET',
path = '/endpoint-providing-info'
})
//parse the response, etc...
请求被路由到上游服务并按预期工作。
我主要关心的是:
通过连接到 localhost,我假设当前 Nginx 节点是参与请求的节点。这会影响性能吗?直接连接到集群更好/可能吗?
【问题讨论】: