基本概念
1メッセージモデル(メッセージモデル)
RocketMQは主に、プロデューサー、ブローカー、コンシューマーの3つの部分で構成されます。プロデューサーはメッセージの生成を担当し、コンシューマーはメッセージの消費を担当し、ブローカーはメッセージの格納を担当します。ブローカーは実際のデプロイメントプロセスのサーバーに対応します。各ブローカーは複数のトピックメッセージを格納でき、各トピックメッセージはフラグメントの異なるブローカーに格納することもできます。メッセージキューは、メッセージの物理アドレスを格納するために使用されます。各トピックのメッセージアドレスは、複数のメッセージキューに格納されます。ConsumerGroupは、複数のConsumerインスタンスで構成されています。
2メッセージプロデューサー(プロデューサー)
メッセージの作成を担当します。通常、ビジネスシステムがメッセージの作成を担当します。メッセージプロデューサーは、ビジネスアプリケーションシステムで生成されたメッセージをブローカーサーバーに送信します。RocketMQは、同期送信、非同期送信、順次送信、一方向送信など、さまざまな送信方法を提供します。同期メソッドと非同期メソッドの両方で、ブローカーが確認情報を返す必要があり、一方向の送信は必要ありません。
3メッセージコンシューマ(コンシューマ)
メッセージの消費を担当します。通常、バックグラウンドシステムが非同期消費を担当します。メッセージコンシューマーは、ブローカーサーバーからメッセージをプルし、アプリケーションに提供します。ユーザーアプリケーションの観点から、プル消費とプッシュ消費という2つの形式の消費が提供されます。
4トピック
1つのタイプのメッセージのコレクションを表します。各トピックには複数のメッセージが含まれ、各メッセージは1つのトピックにしか所属できません。これは、メッセージサブスクリプションのためのRocketMQの基本単位です。
5プロキシサーバー(ブローカーサーバー)
メッセージの保存と転送を担当するメッセージリレーの役割。RocketMQシステムでは、プロキシサーバーは、プロデューサーから送信されたメッセージを受信して保存すると同時に、コンシューマーのプルリクエストの準備を行います。プロキシサーバーは、コンシューマグループ、消費進捗オフセット、トピック、キューメッセージなどのメッセージ関連のメタデータも保存します。
6ネームサービス(ネームサーバー)
ネームサービスは、ルーティングメッセージのプロバイダーとして機能します。プロデューサーまたはコンシューマーは、ネームサービスを通じて各トピックに対応するブローカーIPリストを検索できます。複数のNamesrvインスタンスがクラスターを形成しますが、それらは互いに独立しており、情報交換はありません。
7プルコンシューマ
コンシューマー消費のタイプ。アプリケーションは通常、コンシューマーのプルメッセージメソッドを呼び出して、ブローカーサーバーからメッセージをプルします。イニシアチブはアプリケーションによって制御されます。メッセージのバッチが取得されると、アプリケーションは消費プロセスを開始します。
8プッシュコンシューマ
消費者の消費の一種。このモードでは、ブローカーはデータを受信した後、積極的にデータを消費者にプッシュします。この消費モードは、通常、リアルタイムで高くなります。
9 Producer Group(プロデューサーグループ)
同じタイプのプロデューサーのコレクション。このタイプのプロデューサーは、同じ送信ロジックで同じタイプのメッセージを送信します。トランザクションメッセージが送信され、送信後に元のプロデューサーがクラッシュした場合、ブローカーサーバーは同じプロデューサーグループ内の他のプロデューサーインスタンスに接続して、消費をコミットまたは遡及します。
10消費者グループ(消費者グループ)
同じタイプのコンシューマーのコレクション。このタイプのコンシューマーは通常、一貫した消費ロジックで同じタイプのメッセージを消費します。コンシューマーグループを使用すると、メッセージの消費に関して、負荷分散とフォールトトレランスを非常に簡単に実現できます。コンシューマグループのコンシューマインスタンスは同じトピックにサブスクライブする必要があることに注意してください。RocketMQは、クラスタリングとブロードキャストの2つのメッセージモードをサポートしています。
11クラスター消費(クラスタリング)
クラスター消費モードでは、同じコンシューマーグループの各コンシューマーインスタンスがメッセージを均等に分散します。
12放送消費(放送)
ブロードキャスト消費モードでは、同じコンシューマグループの各コンシューマインスタンスが全量のメッセージを受信します。
13通常注文メッセージ(通常注文メッセージ)
通常の順次消費モードでは、同じ消費キューを介してコンシューマーが受信したメッセージは順番に並んでいますが、異なるメッセージキューが受信したメッセージは順番が狂っている可能性があります。
14厳密に順序付けられたメッセージ
厳密な順序メッセージモードでは、コンシューマによって受信されたすべてのメッセージが順序どおりです。
15メッセージ
メッセージシステムによって送信される情報の物理的なキャリアである、データの生成と消費の最小単位である各メッセージは、トピックに属している必要があります。RocketMQの各メッセージには一意のメッセージIDがあり、サービスIDを持つキーを運ぶことができます。システムは、メッセージIDとキーを使用してメッセージを照会する機能を提供します。
16タグ
メッセージに設定されたフラグは、同じ件名の下の異なるタイプのメッセージを区別するために使用されます。同じビジネスユニットからのメッセージの場合、異なるビジネス目的に応じて、同じ件名の下に異なるタグを設定できます。タグは、コードの明確さと継続性を効果的に維持し、RocketMQによって提供されるクエリシステムを最適化できます。コンシューマーは、タグに従って異なるサブトピックに異なる消費ロジックを実装して、より優れたスケーラビリティを実現できます。