0

我正在开发一个 node.js 服务,该服务每秒将有多个请求 - 比如 1000。让我们想象一下响应数据的权重,与我们的客户端的连接非常慢,并且需要大约 1 秒才能将响应发送回给客户。

问题 #1 - 我想如果没有代理缓冲,node.js 需要 1000 秒才能发回所有响应,因为这是阻塞操作,不是吗?

问题 #2 - nginx 缓冲区(以及一般的缓冲区)如何工作?我是否能够接收到所有 1000 个对缓冲区的响应(前提是 RAM 不是问题),然后才将它们刷新到客户端?proxy_buffers 的限制是什么?我可以将多个缓冲区设置为每个 1000 1K 吗?

目标是尽快从 node.js 中清除所有响应,以免阻塞它并让其他系统来传递它们。

谢谢!

4

1 回答 1

2

当然,发送响应是非阻塞操作。Node 只是将一个块提供给网络驱动程序,将所有其他工作留给您的操作系统。

如果发送响应是一个阻塞操作,它只需要一台个人电脑,其网络被人为地瘫痪到 DoS 任何基于节点的服务。

于 2012-08-17T06:41:38.857 回答