Ren*_*nan 12 performance threadpool node.js playframework
Play Framework建议将阻塞IO中继到适当大小的线程池,如下所示:
https://www.playframework.com/documentation/2.5.x/ThreadPools
这是关系数据库访问的情况,因为没有可用的非阻塞JDBC驱动程序 (除少数例外).
我目前正在学习Node.JS,我无法弄清楚如何在节点中处理它.我没有看到任何代码考虑节点中的线程池的代码.
那么,node.js中使用的关系数据库驱动程序是否能够执行非阻塞IO?或者这些计算是否在幕后传递给某种工作线程?
从更广泛的意义上讲:编写非常DB(关系)密集型node.js应用程序的正确方法是什么?
我认为你基本上回答了你自己的问题:在nodejs中,你不必根据线程池等进行编码。Play 中的数据库线程池是 Java JDBC API 固有的。纯 Nodejs DB 驱动程序在设计上是异步的。Nodejs 包装器驱动程序的架构取决于包装库的架构。
更广泛问题的答案是:
在 Nodejs 或 Java 中编写数据库密集型应用程序的方式没有太大区别,因为无论平台如何,您的瓶颈很可能是数据库背后的持久存储。但在异步架构中:
设计一个不会让数据库承受过多负载的系统更为自然
如果数据库速度变慢,应用程序本身通常不会需要更多的系统资源
一个好的数据库驱动程序将让您通过托管连接池、每个查询超时、每个连接查询队列来实现上述几点。尽管其中一些也可能是本机数据库接口的功能。
| 归档时间: |
|
| 查看次数: |
592 次 |
| 最近记录: |