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