わずか 3 分で、適用可能なシナリオや基本的な概念など、RocketMQ の基礎をわかりやすい言葉で学習できます。 これを読んでも理解できなかったら、遠慮なく私を殴りに来てください。
キーワードサマリー- 低レイテンシ、高可用性、高信頼性、高同時実行性を備えたメッセージミドルウェア
- オンラインビジネスに最適
- 役割は、プロデューサー、コンシューマー、ネームサーバー、ブローカーに分かれています。
- その他のコア概念には、トピック、メッセージキュー、メッセージ、コンシューマー グループ、サブスクリプションなどがあります。
Q1: RocketMQとは何ですか? RocketMQはオープンソースの分散メッセージミドルウェアです。低レイテンシ、高可用性、高信頼性、そして高並列性を備えたメッセージキューイングシステムであり、分散システムにおける非同期通信に使用されます。 Q2: メッセージ ミドルウェアとしての RocketMQ と Kafka の違いは何ですか?メッセージ ミドルウェアとしての RocketMQ と Kafka は、「メッセージ モデル」が非常に似ており、どちらも生成、保存 (メッセージ バックログ)、消費という 3 つの主要部分で構成されています。 主な違いは使用シナリオにあります。 RocketMQは、Kafkaと比較して、スケジュールメッセージ、遅延メッセージ、トランザクションメッセージ(これらはKafkaのメッセージとは異なる概念です)、ブロードキャストメッセージ、メッセージトラッキングなど、いくつかの追加のビジネス機能を提供します。そのため、RocketMQは一般的にオンラインビジネスシナリオで使用されます。 十分に開発されたビッグデータ エコシステムを備えた Kafka は、システム間のデータフロー パイプラインやリアルタイム データ処理などのシナリオで依然として優位性を持っています。 もちろん、RocketMQバージョン5.xでは、イベント処理およびストリーム処理シナリオとの統合がさらに強化されています。しかし、現時点では、関連するエコシステムとアプリケーションの構築は主にAlibaba Cloudが担っており、業界での導入はまだ主流ではありません。 Q3: RocketMQ の基本的なアーキテクチャは何ですか?
RocketMQ 4.x 基本アーキテクチャ RocketMQ バージョン 4.x には、主に 4 つのロールがあります。 - プロデューサー:メッセージをパブリッシュする役割。プロデューサーは、ロードバランシングモジュールを通じてメッセージを配信するための適切なブローカークラスタキューを選択します。
- コンシューマー: メッセージコンシューマーの役割。リアルタイムでメッセージをサブスクライブする機能を提供します。
- ブローカー: ブローカーは主に、メッセージの保存、配信、取得、およびサービスの高可用性の確保を担当します。
- NameServer: NameServerはシンプルなトピックルーティングレジストリです。トピックとブローカーの動的な登録と検出をサポートします。
クラウド ネイティブ環境における「ストレージとコンピューティングの分離」に適切に適応するために、RocketMQ 5.x ではデプロイメント アーキテクチャが変更されました。 新しいステートレス プロキシ モジュール Proxy が「計算レイヤー」として追加されました。これにより、プロトコル適応、権限管理、メッセージ管理などの Broker の本来の計算機能がプロキシ モジュールに抽出されます。 一方、ブローカーは、主にメッセージの保存機能を担当する「ストレージ層」に重点を置いています。 これにより、クラウド環境でのリソースのスケジュール管理が向上します。 RocketMQ 5.x 基本アーキテクチャ Q4: RocketMQ のコアコンセプトは何ですか? RocketMQ コアコンセプト 前述のように、メッセージ ミドルウェアには同様の論理アーキテクチャがあり、メッセージの生成、保存 (メッセージの蓄積)、および消費という 3 つの主要部分で構成されます。 RocketMQ の場合も、コア コンセプトはこれら 3 つの部分を中心に展開され、合計 7 つのコア コンセプトがあります。 - プロデューサー: RocketMQ 内でメッセージを生成するエンティティ。
- メッセージの保存
トピック: RocketMQにおけるメッセージの送信と保存のためのグループ化されたコンテナ。トピックは複数のキュー(MessageQueue)で構成されます。 MessageQueue: RocketMQ でのメッセージの送信と保存のための実際のユニット コンテナー。Kafka のパーティションに類似しています。 メッセージ: RocketMQにおける最小の転送単位。最初の送信と保存後は変更できません。 メッセージの消費 ConsumerGroup: RocketMQ パブリッシュ/サブスクライブ モデルで定義された個別のコンシューマー ID グループ。基盤レベルで実行されている複数のコンシューマーを均一に管理するために使用されます。 コンシューマー: RocketMQ内でメッセージを消費する実行中のエンティティ。コンシューマーはコンシューマーグループに割り当てる必要があります。 サブスクリプション: RocketMQのパブリッシュ/サブスクライブモデルにおいて、これはメッセージのフィルタリング、再試行、および消費進捗の永続化に関する「ルール設定」を指します。コンシューマーグループは、サブスクリプション関係を定義することで、指定されたグループ内のコンシューマーがメッセージのフィルタリング、消費の再試行、および消費進捗の回復をどのように実装するかを制御します。
要約- 低レイテンシ、高可用性、高信頼性、高同時実行性を備えたメッセージ ミドルウェア。
- オンラインビジネスに適しています。
- プロデューサー、コンシューマー、ネームサーバー、ブローカーなどの役割に分かれています。
- その他のコア概念には、Topic、MessageQueue、Message、ConsumerGroup、Subscription などがあります。
|