【问题标题】:looking for a special type of node.js proxy module寻找特殊类型的 node.js 代理模块
【发布时间】:2016-10-06 19:52:52
【问题描述】:

我现在正在深入研究与 node.js 相关的所有内容,因为我的任务有点复杂。我需要使用 node.js 实现一种代理服务,我什至不确定它本身是否可以称为代理。

我需要的是:

设置一个监听请求的网络服务器,然后,查询数据库中的 URL 列表(根据原始请求中的一些数据),卷曲这些 URL,并根据这些 URL 的响应构造一个响应原始客户。根据某些业务逻辑,响应将是这些多个响应的某种混合和混搭。

简而言之: Client -> NODE -> NODE 查询 DB,调用 N 个 Urls,处理响应,构造响应给客户端 -> 返回响应给客户端。

我查看了 node-http-proxy,但它似乎不太适合我的需要。

基本上,我正在研究如何实现这一点的指针。性能至关重要,因为我们将提供 50K-100K 或更高的 QPS。

【问题讨论】:

  • 这些服务已经存在。搜索 API 代理服务...有很多可以让您组合上游响应并以其他方式转换数据的服务。对于您的流量负载,我会使用一些久经考验的方法。

标签: node.js proxy


【解决方案1】:

我认为您不会找到可以为您完成这项工作的模块。你必须写一些完全自定义的东西。您可以选择像 express 这样的框架,它将创建服务器并为您处理请求。然后选择您需要连接到数据库的数据库驱动程序并使用request module 将请求触发到您将从数据库中检索的 URL。如果您必须触发大量请求,这可能是一个相当大的开销。 Async module 特别是 async.each 会帮助你。这可以并行触发所有请求,并且在最后一个回调中将结果保存在一个数组中。处理结果,将它们发送回客户端。应该不会很复杂。

【讨论】:

    猜你喜欢
    • 2016-12-20
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    相关资源
    最近更新 更多