Alibaba Cloud RocketMQ

Alibaba CloudRocketMQ分析レポート

RocketMQを学ぶ前に、まず次の問題を理解する必要があります。

ダウンタイムとは何ですか?

ダウンタイムとは、オペレーティングシステムが重大なシステムエラーから回復できない、またはシステムハードウェアレベルで問題が発生し、システムが長時間応答しなくなり、コンピューターを再起動する必要がある現象を指します。これはコンピュータ操作の通常の現象であり、どのコンピュータでも発生します。

メッセージを同期的および非同期的に処理しますか?

プロデューサーはメッセージをコンシューマーに送信し、コンシューマーはメッセージを受信した直後にメッセージを処理します。つまり、メッセージを同期的に処理します。
プロデューサーは最初にメッセージをMQに送信し、コンシューマーはMQでメッセージ処理を取得できます。いつでも、これは非同期処理です。

TCPおよびHTTPプロトコル?

TCPプロトコルはトランスポート層に対応し、Httpプロトコルはアプリケーション層に対応します。基本的に、この2つは比較できません。HttpプロトコルはTCPプロトコルの上に構築されています。ブラウザがWebページデータを取得する必要がある場合サーバー、それはHttpリクエストを行います。Httpは、tcpを介してサーバーへの接続チャネルを確立します。この要求に必要なデータが完了すると、HttpはすぐにTCP接続を切断します。このプロセスは非常に短いです。したがって、Http接続は短い接続であり、ステートレス接続です。
いわゆるステートレスとは、ブラウザがサーバーへの要求を開始するたびに接続を通過させず、毎回新しい接続を確立することを意味します。接続の場合、サーバープロセスは接続を維持し、メモリ内の情報ステータスを記憶できます。各リクエストが終了すると、接続が閉じられ、関連するコンテンツが解放されるため、状態を思い出せず、ステートレス接続になります。

Mavenとは何ですか?

Mavenはプロジェクト管理ツールであり、プロジェクトオブジェクトモデル(プロジェクトオブジェクトモデル)、一連の標準、プロジェクトライフサイクル(プロジェクトライフサイクル)、依存関係管理システム(依存関係管理システム)が含まれ、で定義を実行するために使用されます。ライフサイクルのフェーズにおけるプラグインの目標のロジック。

上記の質問を理解した後、RocketMQの学習を開始できます

RocketMQバージョンのメッセージキューとは何ですか?

メッセージキューRocketMQバージョンは、ApacheRocketMQに基づいてAlibabaCloudによって構築された、低遅延、高同時実行性、高可用性、および信頼性の高い分散メッセージングミドルウェアです。RocketMQバージョンのメッセージキューは、分散アプリケーションシステムに非同期デカップリング、ピークシェービングおよびバレーフィリング機能を提供するだけでなく、インターネットアプリケーションに必要な大量のメッセージ蓄積、高スループット、および信頼性の高い再試行の特性も備えています。

核心概念

トピック:メッセージの件名、第1レベルのメッセージの種類、およびプロデューサーがメッセージを送信します。
プロデューサー:メッセージパブリッシャーとも呼ばれ、トピックの作成とメッセージの送信を担当します。
コンシューマー:メッセージサブスクライバーとも呼ばれ、トピックからのメッセージの受信と消費を担当します。
メッセージ:プロデューサーからトピックに送信され、最終的にコンシューマーに配信されるデータと(オプションの)属性の組み合わせ。
メッセージ属性:メッセージキーやタグなど、プロデューサーがメッセージに対して定義できる属性。
グループ:プロデューサーまたはコンシューマーのタイプ。このタイプのプロデューサーまたはコンシューマーは通常、同じタイプのメッセージを生成または消費し、メッセージの公開またはサブスクリプションのロジックは一貫しています。

メッセージングモデル

RocketMQバージョンのメッセージキューは、パブリッシュモデルとサブスクライブモデルをサポートしています。メッセージプロデューサーアプリケーションは、トピックを作成し、トピックにメッセージを送信します。コンシューマーアプリケーションは、トピックからメッセージを受信するために、トピックへのサブスクリプションを作成します。通信は、1対多(ファンアウト)、多対1(ファンイン)、および多対多のいずれかになります。
ここに画像の説明を挿入
プロデューサークラスター:メッセージ送信のアプリケーションを示すために使用されます。プロデューサークラスターには、複数のプロデューサーインスタンスが含まれます。これは、複数のマシン、1つのマシンの複数のプロセス、または1つのプロセスの複数のプロデューサーオブジェクトです。
プロデューサークラスターは、複数のトピックメッセージを送信できます。分散トランザクションメッセージを送信するときに、プロデューサーが予期せず途中でダウンした場合、メッセージキューサーバーのRocketMQバージョンは、トランザクションステータスを確認するためにプロデューサークラスター内の任意のマシンをアクティブにコールバックします。

コンシューマークラスター:コンシューマーメッセージングアプリケーションを表すために使用されます。コンシューマークラスターには、複数のマシン、複数のプロセス、またはプロセスの複数のコンシューマーオブジェクトの複数のコンシューマーインスタンスが含まれます。
コンシューマークラスター内の複数のコンシューマーは、均等に共有された方法でメッセージを消費します。ブロードキャストモードが設定されている場合、このコンシューマークラスターの下の各インスタンスは全量のデータを消費します。

図1のグループ2に示すように、コンシューマークラスターはグループIDに対応し、グループIDは複数のトピックにサブスクライブできます。グループとトピックのサブスクリプション関係は、プログラムで直接設定できます。具体的な設定方法については、製品更新ログのリソースアプリケーションプロセス最適化セクションを参照してください。

RocketMQクラスターの構築

各役割の紹介

  • プロデューサー:メッセージの送信者。例:送信者
  • コンシューマー:メッセージ受信者;例:受信者
  • ブローカー:メッセージの一時的な保存と送信。例:郵便局
  • ネームサーバー:ブローカーの管理;例:各郵便局の管理組織
  • トピック:メッセージのタイプを区別します。送信者は1つ以上のトピックにメッセージを送信できます。メッセージ受信者は、1つ以上のトピックメッセージをサブスクライブできます。
  • メッセージキュー:トピックパーティションと同等。メッセージを並行して送受信するために使用されます

アーキテクチャ図は次のとおりです。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43372169/article/details/109744211
おすすめ