performance - Play Framework and Node.js non-blocking behaviour for relational databases -
play framework advises relay blocking io appropriate sized thread pool, in:
https://www.playframework.com/documentation/2.5.x/threadpools
this case relational database access because there no non-blocking jdbc drivers available (with few exceptions).
i learning node.js , couldn't figure out how handled in node. didn't see need code thinking thread pools in node.
so, relational database drivers used in node.js able non-blocking io? or these computations being relayed kind of worker threads behind scenes?
on broader sense: correct way code node.js app db (relational) intensive?
node single threaded there no user thread pools[1]. instead need scale horizontally more node servers. , can within node app: https://devcenter.heroku.com/articles/node-concurrency
and on note, i've had success async-jdbc-ish postgresql-async driver. i've used jdub-async , scalikejdbc. here blog wrote on using scalikejdbc: https://www.jamesward.com/2015/04/07/reactive-postgres-with-play-framework-scalikejdbc
[1] user code runs single threaded (but can use web workers have threads) libuv multi-threaded. read more: how single threaded non blocking io model works in node.js
Comments
Post a Comment