RocketMQコアコンセプト

RocketMQ公式からオリジナルの英語のテキストコアコンセプトの文書

ここに画像を挿入説明上記のモデルによると、我々はシステムメッセージのデザインでテーマの一部に浸透することができます。

  • パラレル消費
  • ホット消費者問題
  • 消費者のロードバランシング
  • メッセージルーティング
  • 複数の接続
  • カナリア配備(灰色、A / B)

プロデューサー

プロデューサーは、プロキシサービスの運用システムで生成されたメッセージになります。RocketMQを送信するために複数のモードを提供する:(同期)同期および非同期の一方向(非同期)、(片道)。

プロデューサーのグループ

プロデューサーと同じ役割を一緒にグループ化されます。同じ生産者グループインスタンスの異なるメーカーがコミットまたはトランザクションの後、元プロデューサーの崩壊を防ぐために、トランザクションをロールバックのための連絡先のエージェントサービスをアップしています。
警告:メッセージを送信する時にプロデューサーを考慮することは非常に重要であり、各生産者グループは、1つのインスタンスが有効になっている生産者のインスタンスの初期化を防ぐために必要がないことができます。

消費者

消費者は、アプリケーションが消費に配信プロキシサービスからメッセージを引き出します。ユーザアプリケーションでは、消費者は、2つの方法で提供されています:

消費を引いて

消費者は、プロキシサービスからプルメッセージを引っ張ります。バッチメッセージを引っ張っ終わったら、アプリケーション・プロセスは、支出を開始します。

消費者のプッシュ

消費者を押して、総合的なニュースは、消費プロセスを引っ張って、他のプロセスで維持、エンドユーザーは、コールバックインタフェースを開き、メッセージが到着したときに呼び出されます。

消費者団体

前述と同様のプロデューサー・グループは、同じ役割の消費者はとも呼ばれるグループ化されます消費者団体
消費者団体は、それは私たちがよりシンプルニュース消費されることを可能にし、負荷分散、フェイルオーバーを実現するための良い方法です。
WARNING:インスタンス内の消費者団体の消費がなければなりません正確に同じトピックをサブスクライブ。

テーマ

生産者と消費者を提供するために、ニュースの配信のためのテーマは、メッセージを引きます。生産者と消費者のテーマとの関係は非常にリベラルです。テーマは、プロデューサが送信ゼロ、1つまたは複数のメッセージを持つことができ、ひいては、プロデューサーもさまざまなトピックにメッセージを送ることができます。消費者の視点からは、テーマはゼロ、一つ以上の消費者団体が加入することができます。コンシューマ・グループでは、1つのまたは複数のトピックを購読することができますが、それはグループ内のインスタンスに加入確保するために同じです。

ニュース

メッセージが配信されたメッセージです。メッセージがトピックに対応している必要があり、それはあなたが受信者のアドレスを記述するときのように理解することができます。メッセージには、オプションのラベル(タグ)や追加情報のキーを含めることができます。たとえば、あなたは追加のニュースのための自然なキーを設定することができ、開発プロセスは、問題を診断するために、プロキシサービスにメッセージを見に行くことができます。

メッセージキュー

テーマは、1つまたは複数のサブテーマ、に分割された「メッセージキュー。」

タグ

タグは、ユーザーに追加の拡張性を提供し、サブテーマ呼び出すことができます。同じサービスモジュールから送信されたさまざまな目的のメッセージは、同じテーマと異なるラベルを使用することができます。タグは、あなたのコードが明確に残っているだけでなく、より効果的な提供RocketMQクエリシステムを可能にすることができます。

代理店サービス

代理店サービスRocketMQの主要コンポーネントです。これは、プロデューサ、コンシューマストレージ及び処理要求を引っ張ることによって送信されたメッセージを受信します。また、消費者団体、オフセット消費者の慎み深さ、およびトピック/キュー情報を含むメッセージに関連するメタデータ情報を格納します。

ネーミングサービス

ネーミングサービスは、情報のルーティングおよび転送機能を提供します。生産者と消費者のクライアントは、トピックを検索し、対応するプロキシサービスのリストを見つけることができます。

メッセージモデル

  • クラスタ
  • 放送

メッセージシーケンス

あなたがDefaultMQPushConsumerを使用するときは、順次または並列にメッセージを消費することを決定することができます。

  • シーケンシャル
    消費の順序は、メッセージが消費する各メッセージキューを注文するプロデューサに送信されることを意味します。あなたのシナリオでは、グローバルな秩序の厳密な制御を必要とし、それが唯一のメッセージキューに一つだけのトピックすることができます。
    警告:あなたは特定の順序を消費した場合、同時メッセージの消費量の最大数は、消費者団体の数は、メッセージキューをサブスクライブしています。
  • パラレル
    ときパラレル消費者のニュース、消費者のクライアントスレッドプールのサイズ制限により、並列メッセージの消費量の数だけ。
    WARNING:パラレルモードでは、順序がメッセージを保証するものではありません。

おすすめ

転載: blog.csdn.net/pluto4596/article/details/89279728