4.8. AMQP メッセージに対する大きなメッセージ処理の設定


クライアントは、ブローカーの内部バッファーのサイズを超える大きな AMQP メッセージを送信する可能性があり、予期せぬエラーが発生する可能性があります。この状態を回避するには、メッセージが指定の最小値よりも大きい場合にメッセージをファイルとして保存するようにブローカーを設定できます。このように大きなメッセージを処理すると、ブローカーはメモリー内にメッセージを保持しません。代わりに、ブローカーはメッセージを大きなメッセージファイルを保存するために使用される専用ディレクトリーに保存します。

OpenShift Container Platform でのブローカーデプロイメントでは、大きなメッセージディレクトリーは、メッセージストレージ用にブローカーが使用する永続ボリューム (PV) の /opt/<custom_resource_name>/data/large-messages です。ブローカーがメッセージを大きなメッセージとして保存すると、キューは大きなメッセージディレクトリーのファイルへの参照を保持します。

重要

AMQ Broker 7.9 の Operator ベースのブローカーデプロイメントでは、AMQP プロトコルでのみ大きなメッセージ処理を利用することができます。

4.8.1. 大規模なメッセージ処理のための AMQP アクセプターの設定

以下の手順は、指定したサイズよりも大きい AMQP メッセージを処理するようにアクセプターを設定する方法を説明します。

前提条件

  • Operator ベースのブローカーデプロイメントのアクセプターの設定方法を理解する必要があります。「アクセプターの設定」 を参照してください。
  • 大規模な AMQP メッセージを専用の大きなメッセージディレクトリーに保存するには、ブローカーデプロイメントは永続ストレージ (つまり、persistenceEnabled はデプロイメントの作成に使用するカスタムリソース (CR) インスタンスで true に設定する必要があります)。永続ストレージの設定についての詳細は、以下のドキュメントを参照してください。

手順

  1. AMQP アクセプターを定義したカスタムリソース (CR) インスタンスを開きます。

    1. OpenShift コマンドラインインターフェースの使用:

      $ oc edit -f <path/to/custom_resource_instance>.yaml
      Copy to Clipboard
    2. OpenShift Container Platform Web コンソールの使用

      1. 左側のナビゲーションメニューで、Administration Custom Resource Definitions をクリックします。
      2. ActiveMQArtemis CRD をクリックします。
      3. Instances タブをクリックします。
      4. プロジェクトの名前空間に対応する CR インスタンスを見つけます。

    以前に設定された AMQP アクセプターは、以下のようになります。

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp
        port: 5672
        connectionsAllowed: 5
        expose: true
        sslEnabled: true
    ...
    Copy to Clipboard
  2. ブローカーが大きいメッセージとして処理する AMQP メッセージの最小サイズをバイト単位で指定します。以下に例を示します。

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp
        port: 5672
        connectionsAllowed: 5
        expose: true
        sslEnabled: true
        amqpMinLargeMessageSize: 204800
        ...
    ...
    Copy to Clipboard

    上記の例では、ブローカーはポート 5672 で AMQP メッセージを受け入れるように設定されます。amqpMinLargeMessageSize の値に基づいて、アクセプターが 204800 バイトよりも大きい AMQP メッセージ (200 キロバイト以上) を受信する場合、ブローカーはメッセージを大きなメッセージとして格納します。

    ブローカーはメッセージを、メッセージストレージ用にブローカーが使用する永続ボリューム(PV)の永続ボリューム (デフォルトでは /opt/<custom_resource_name>/data/large-messages) にメッセージを保存します。

    amqpMinLargeMessageSize プロパティーの値を明示的に指定しないと、ブローカーは 102400 (つまり 100 キロバイト) のデフォルト値を使用します。

    amqpMinLargeMessageSize-1 に設定すると、AMQP メッセージに対する大きなメッセージ処理が無効になります。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat