Next.js本身没有内置的消息队列。 next API只是一个node.js服务器。所以你的问题可能会被问到“Node.js如何处理多个并发请求?“ Node.js使用带有事件循环的单线程。通过这种方式,Node可以处理1000个并发连接。 From here Node采用了一种稍微不同的方法来同时处理多个并发请求,如果你将它与其他一些流行的服务器(如Apache)进行比较的话。为每个请求生成一个新线程是昂贵的。此外,线程在等待其他操作的结果时什么也不做(即:数据库读取)。 这种方法有许多优点。创建新线程没有开销。此外,您的代码更容易推理,因为您不必担心如果两个线程访问同一个变量会发生什么。因为这根本不可能发生。但也有一些缺点。对于主要处理CPU密集型计算的应用程序来说,Node不是最佳选择。另一方面,它擅长处理多个I/O请求。 文件上传被认为是Web应用程序上下文中的I/O(输入/输出)操作。当用户通过Web界面上传文件时,服务器必须从客户端设备读取数据(输入),然后将其写入存储位置(输出)。从客户端阅读和向存储写入都是I/O操作。 简而言之,BRAC代码首先注册。事件循环连续地检查已注册的PDMC操作的状态。它管理一个事件队列及其相关的回调函数。当一个candic操作完成时,它被推送到事件循环的队列中。当主线程变得可用时,事件循环调度要在主线程上执行的关联回调函数。
1条答案
按热度按时间m3eecexj1#
Next.js本身没有内置的消息队列。
next API只是一个node.js服务器。所以你的问题可能会被问到“Node.js如何处理多个并发请求?“
Node.js使用带有事件循环的单线程。通过这种方式,Node可以处理1000个并发连接。
From here
Node采用了一种稍微不同的方法来同时处理多个并发请求,如果你将它与其他一些流行的服务器(如Apache)进行比较的话。为每个请求生成一个新线程是昂贵的。此外,线程在等待其他操作的结果时什么也不做(即:数据库读取)。
这种方法有许多优点。创建新线程没有开销。此外,您的代码更容易推理,因为您不必担心如果两个线程访问同一个变量会发生什么。因为这根本不可能发生。但也有一些缺点。对于主要处理CPU密集型计算的应用程序来说,Node不是最佳选择。另一方面,它擅长处理多个I/O请求。
文件上传被认为是Web应用程序上下文中的I/O(输入/输出)操作。当用户通过Web界面上传文件时,服务器必须从客户端设备读取数据(输入),然后将其写入存储位置(输出)。从客户端阅读和向存储写入都是I/O操作。
简而言之,BRAC代码首先注册。事件循环连续地检查已注册的PDMC操作的状态。它管理一个事件队列及其相关的回调函数。当一个candic操作完成时,它被推送到事件循环的队列中。当主线程变得可用时,事件循环调度要在主线程上执行的关联回调函数。