クラスターでのアグリゲーターの使用

CloudHub ではクラスタリングを使用できないため、アグリゲーターは複数のワーカーおよび永続的なオブジェクトストアでは機能しません。アプリケーションを拡大し、高可用性を提供するためにワーカーを共有または二重化する方法は、​「CloudHub Fabric」​ドキュメントを参照してください。

Aggregators Module は、クラスターの標準環境で動作します。ただし、予期しない動作を回避するため、以下の点を考慮してください。

非同期集約が定義されている場合、最初の要素が到着したときに、その要素はクラスターのプライマリノードでスケジュールされます。新しい値はクラスターのどのノードにも到着する可能性があるため、通知してプライマリノードでその集約をスケジュールさせる方法が必要です。そのために、プライマリノードの別のタスクは、新しい集約をスケジュールする必要があるかどうかを定期的に判断します。これは、新しい集約スケジュールをチェックする間隔が集約の実際のタイムアウトよりもはるかに長い場合に問題になる可能性があります。この理由は、集約がスケジュールされる前に終了したり、時間の計算でエラーが発生する可能性があるためです。

この問題を回避するため、スケジュールする新しい集約があるかどうかをプライマリノードがチェックする頻度を設定します。次のいずれかを使用してこの値を定義します。

  • グローバル設定プロパティ ​mule.aggregatorsSchedulingPeriod​ (ミリ秒)

  • システムプロパティ ​-M-Dmule.aggregatorsSchedulingPeriod

グローバルプロパティまたはシステムプロパティの設定方法についての詳細は、​「プロパティの設定」​を参照してください。