18.8.14. フロー制御


フロー制御は、クライアントまたはサーバーがデータでオーバーロードしないように、クライアントとサーバー間のデータフローを制限するために使用されます。
  • Consumer Flow Control: クライアントがメッセージを消費する際にサーバーとクライアント間のデータのフローを制御します。パフォーマンス上の理由から、クライアントは通常、receive() メソッドを介してコンシューマーに配信したり、メッセージリスナーを介して非同期的にコンシューマーに配信する前にメッセージをバッファーします。
    レート制限のあるフロー制御: コンシューマーがメッセージを消費できるレートを制御できます。これはスロットリングの形式であり、コンシューマーが指定のレートよりも速いメッセージを消費しないようにすることができます。この機能を有効にするには、レートは正の整数である必要があります。1 秒あたりのメッセージ単位で指定される必要なメッセージ消費率の最大値です。これを -1 に設定すると、レート制限フロー制御が無効になります。デフォルト値は -1 です。

    例18.8 JMS を使用したレート制限フロー制御

    JNDI を使用して接続ファクトリーを検索する場合は、standalone.xml または domain.xml で最大レートを設定できます。
    <connection-factory name="ConnectionFactory">
    	<connectors>
    		<connector-ref connector-name="netty-connector"/>
    	</connectors>
      <entries>
      	<entry name="ConnectionFactory"/>
      </entries>
      <!-- We limit consumers created on this connection factory to consume messages at a maximum rate of 10 messages per sec -->
    	<consumer-max-rate>10</consumer-max-rate>
    </connection-factory>
    接続ファクトリーが直接インスタンス化されている場合、HornetQConnectionFactory.setConsumerMaxRate(int consumerMaxRate) メソッドを使用して最大レートサイズを設定できます。
  • プロデューサーフロー制御: サーバーが大きすぎないように、クライアントからサーバーに送信されるデータ量をサーバーに制限します。
    ウィンドウベースのフロー制御: HornetQ プロデューサーは、ジャーナルに十分なクレジットがある限り、メッセージをアドレスに送信できます。メッセージの送信に必要なクレジットの量は、メッセージのサイズで指定されます。プロデューサーはクレジットが少ないため、サーバーがより多くのクレジットを送信すると、より多くのメッセージを送信できます。プロデューサーリクエストのクレジットの量は、ウィンドウサイズ と呼ばれます。

    例18.9 JMS を使用したプロデューサーウィンドウサイズフロー制御

    JNDI を使用して接続ファクトリーを検索する場合は、プロデューサーウィンドウサイズを standalone.xml または domain.xml で設定できます。
    <connection-factory name="ConnectionFactory">
       <connectors>
          <connector-ref connector-name="netty-connector"/>
       </connectors>
       <entries>
          <entry name="ConnectionFactory"/>
       </entries>
       <producer-window-size>10</producer-window-size>
    </connection-factory>
    接続ファクトリーが直接インスタンス化されている場合、HornetQConnectionFactory.setProducerWindowSize(int producerWindowSize) メソッドを使用してプロデューサーウィンドウサイズを設定できます。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.