【发布时间】:2016-08-18 05:43:50
【问题描述】:
Play Framework 建议将阻塞 IO 中继到适当大小的线程池,如下所示:
https://www.playframework.com/documentation/2.5.x/ThreadPools
关系数据库访问就是这种情况,因为没有可用的非阻塞 JDBC 驱动程序(少数例外)。
我目前正在学习 Node.JS,但我无法弄清楚它是如何在 node.js 中处理的。我没有看到任何需要考虑节点中的线程池的代码。
那么,node.js 中使用的关系数据库驱动程序是否能够进行非阻塞 IO?还是这些计算被转发到幕后的某种工作线程?
从更广泛的意义上说:编写一个非常 DB(关系)密集型的 node.js 应用程序的正确方法是什么?
【问题讨论】:
-
有一篇关于你might enjoy的文章
-
看看这个问题,它可能有助于澄清你对节点如何在后台工作的理解,但要回答你的问题,我知道的所有节点数据库驱动程序都使用非阻塞 io 接口/libuv 异步事件循环...您不必担心在应用程序级别实现它:stackoverflow.com/questions/14795145/…
标签: node.js performance playframework threadpool