ルーティングサービスでは、メッセージブローカのパフォーマンスと安定性を向上させるために、以下の制御を行います。
システム全体のメッセージは、以下を指定することで、メッセージブローカ全体の制限値を設定します。以下の値が制限に達した場合、メッセージブローカは、保留メッセージが制限を下回るまで、新しいメッセージを拒否します。
メッセージブローカが保持するメッセージの最大数(imq.system.max_count)
メッセージが占有する最大合計バイト数(imq.system.max_size)
また、以下にも制限があります。
各メッセージの最大サイズ(imq.message.max_size)
期限切れメッセージの検出間隔(imq.message.expiration.interval)
特定の物理格納先へのメッセージには、以下の制限があります。
物理格納先で保持するメッセージの数とサイズ
作成可能なProducerとConsumerの数
Consumerに単一の処理で配信可能なメッセージ数
メッセージブローカは、以下により、メモリ制限に対処するように設定できます。
Producerによるメッセージの配信速度を遅くする。
新しい受信メッセージを拒否する。
最も古い既存のメッセージを破棄する。
優先度が最も低い既存のメッセージを破棄する。
これらの方法で破棄されるメッセージは、完全に破棄するのではなく、オプションでデッドメッセージキューに移動できます。
参照
これらのルーティングサービスに関するプロパティの詳細については、「6.7.2 ルーティングサービスに関するプロパティ」、「6.7.3 物理格納先自動生成に関するプロパティ」、および「6.7.7 物理格納先の生成または更新に関するプロパティ」を参照してください。