我正在嘗試創建一個並行運行的服務器。我有兩個主要的擔憂:NodeJS導出阻止代碼
- 某些方面阻止和停止正在處理
- 請求弄混和錯誤的反應去錯了客戶的請求。
這裏是我的代碼:
服務器文件:
var http = require('http');
var controller = require('controller.js');
http.createServer(function (request, response) {
controller.handle(request, response);
}).listen(8080, '0.0.0.0');
控制器文件
var resp = require('./resp.js');
var sqltest = require('/sql/sqltest.js');
exports.handle = function(request, response) {
request.on('data', function(chunk) {
var json = JSON.parse(chunk);
var type = parseInt(json["requestType"]);
switch(type) {
case 0:
sqltest.try(json, function(res){
resp.send(response, res);
});
break;
}
});
}
SQL測試文件
var mysql = require('mysql');
exports.try = function(json, callback, res) {
-- doo database stuff --
callback(res);
});
}
響應文件
exports.send = function(response, res){
response.writeHead(200, ......);
response.end(res);
}
基本上,這個服務器將非常大,我不能有行代碼成千上萬都坐在一個文件。通過分解,我會以任何方式損害性能,這是否會導致任何阻止代碼,服務器是否會跟蹤正確的客戶端以響應?
我還是非常新的節點和JavaScript的一般,所以也許我很想理解基本概念如何工作。任何建議或改進將是一個很大的幫助!
這些都不是問題。 – SLaks