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との接続が切れていた間のデータはロストします。