6.4. ICE Message Router¶
Message RouterはMQTTトピックにパブリッシュされたデータをもとに、 予め指定した定義に従ってMongoDBでレコードの挿入、更新、削除のいずれかを行うエンジンです。 coreの拡張として実装されており、いくつかの設定方法や操作方法はcoreと同じです。
6.4.1. サービス¶
- サービス開始(CentOSの場合)
$ service ice-msgrouter-core start
- サービス停止(CentOSの場合)
$ service ice-msgrouter-core stop
6.4.2. インストールディレクトリ¶
/opt/nec/pf/ice/msgrouter_core/
6.4.3. ログファイル¶
Message Routerでは次のファイルにログを出力します。
- logs/ice-msgrouter-core.log
- Message Router全般に関するメッセージを出力するログです。
- logs/ice-msgrouter-core_out_err
- Message Routerの標準出力と標準エラー出力をリダイレクトしたファイルです。エラーが発生した場合に、エラー情報が出力されます。
6.4.4. 関連サービス停止時の挙動¶
- RabbitMQの停止 RabbitMQの停止などの原因でAMQP接続が切れた場合、その間はMessage Routerはメッセージが受信できないため振り分け処理を一切行いませんが、 RabbitMQが再開するとMessage Routerは自動的に接続し直して、振り分け処理再開します。このとき停止期間のメッセージも振り分けます。
- MongoDBの停止 MongoDBとの接続が途切れた場合、Message RouterはAMQPで受信したデータの振り分け処理を行いますが、MongoDBへの書き込みに失敗してエラーメッセージを出力します。 Message RouterはMongoDBが復旧すると、MongoDBとの接続を自動的に回復させて書き込みを再開しますが、MongoDBとの接続が切れていた間のデータはロストします。