したがって、外部デバイスからのメッセージのストリームを提供するさまざまなデータソースがあるという状況です。シリアルポートでメッセージを送信するものもあれば、UDP を介して送信するものもあれば、Telnet を介して送信するものもあります。小さな Node.js を構築したいこれらの各ソースからメッセージを受信するシステム。全部で約20のソース。
これらのメッセージを中継したいさまざまな場所があり、クライアントが telnet 経由で接続してこれらのメッセージを受信できるようにしたいと考えています。
「サービスバス」とか「メッセージバス」と呼んでもいいと思います。
現時点では、それをどのように構造化するかについてのアイデアを蹴っているだけです。すべてを実行する1つの巨大なnode.jsファイルは必要ありません..
各「レシーバー」をメインのnode.jsファイルの外部.jsファイルに配置したい..以下の私のアプローチはOKですか、私のアプローチに改善できる点はありますか?
メイン Node.js ファイル
2 つの「レシーバー」を取り込みます。これらのそれぞれが、データソースからの受信メッセージを処理します。
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 でメッセージ バスを構築するために考慮すべき他のアーキテクチャ アプローチに関するコメントは、非常に役に立ちます。
読んでくれてありがとう、
ダンカン。