35.8. Consumers
コンシューマーにはいくつかのタイプがあります。
- Tailable Cursor コンシューマー
- Change Streams コンシューマー
35.8.1. Tailable Cursor コンシューマー リンクのコピーリンクがクリップボードにコピーされました!
MongoDB は、*nix システムの tail -f
コマンドと同様に、カーソルを開いた状態に維持することで、コレクションから継続中のデータを即座に消費するメカニズムを提供します。このメカニズムは、新しいデータを取得するためにクライアントがスケジュールされた間隔でクライアントに新しいデータをプッシュするので、スケジュールされたポーリングよりも効率的です。また、その他の冗長ネットワークトラフィックも軽減します。
テール可能なカーソルを使用する必要があるのは 1 つだけです。コレクションはキャプチャーコレクションである必要があります。つまり、このコレクションは N オブジェクトのみを保持し、制限に達すると MongoDB は、最初に挿入された順序で古いオブジェクトをフラッシュします。詳細は、http://www.mongodb.org/display/DOCS/Tailable+Cursors を参照してください。
Camel MongoDB コンポーネントはテール可能なカーソルコンシューマーを実装し、この機能を Camel ルートで使用できるようにします。新しいオブジェクトが挿入されると、MongoDB はそれらを最適な順序で Document
としてプッシュします。これにより、エクスチェンジに変換し、ルートロジックをトリガーします。