所以情况是我有各种各样的数据源,它们提供来自外部设备的消息流。有些在串行端口上发送消息,有些通过 UDP,有些通过 Telnet。我希望构建一个小型 Node.js从这些来源中的每一个接收消息的系统。大约有 20 个来源。
然后我想将这些消息中继到多个地方,并且我希望允许客户端通过 telnet 连接并接收这些消息。
我想您可以将其称为“服务总线”或“消息总线”。
目前我只是在思考如何构建它的想法,我不想要一个可以做所有事情的巨大 node.js 文件。
我希望每个“接收器”都位于我的主 node.js 文件的外部 .js 文件中。我的方法是否正常,我可以对我的方法进行任何改进。
主 Node.js 文件
拉入两个“接收器”..每个接收器都将处理来自数据源的传入消息
var sys = require("sys");
AVLReceiver = require("./avlreceiver.js").AVLReceiver();
PagerReceiver = require("./pagerreceiver.js").PagerReceiver();
pagerreceiver.js - 一个示例消息接收器
从串口接收消息..
var serialport = require("serialport");
var sys = require("sys");
var PagerReceiver = {};
PagerReceiver.initializePort = function () {
this.serialport = new serialport.SerialPort("/dev/ttyS0", {
parser: serialport.parsers.readline("\n"), baudrate: 57600
});
this.serialport.on("data", this.processMessage);
};
PagerReceiver.processMessage = function (data) {
//deal with the message
};
PagerReceiver.initializePort();
exports.PagerReceiver = function() {
return PagerReceiver;
};
这是否是分解 node.js 系统的合适方法?任何关于 javascript 的评论也很感激。还有任何关于我应该考虑在 node.js 中构建消息总线的任何其他架构方法的评论都将是超级的。
谢谢阅读,
邓肯。