RocketMQ 最高評価責任者を募集します [Alibaba Cloud 製品評価]

序文

2023-8-28 19:46:38

以下のコンテンツは「[Alibaba Cloud 製品レビュー]」から出典されており
、学習とコミュニケーションのみを目的としています。

著作権

他のプラットフォームで公開する場合は、次の単語を削除してください。この
記事は最初に CSDN プラットフォームで公開されました。
著者は CSDN@日星月云です。
ブログのホームページは https://blog.csdn.net/qq_51625007 です。
他のプラットフォームで公開する場合は上記の文言を使用してください。

推薦する

RocketMQ レビュー

RocketMQ の最高審査責任者を探しています

イベントホームページ
https://developer.aliyun.com/mission/review/rocketmqtest

運営ホームページ
https://developer.aliyun.com/topic/rocketmq

始める

2. トライアルチュートリアル:

STEP01: VPC の作成:クリックして操作ドキュメントを表示します

STEP02: リソースを受け取る:クリックしてビデオチュートリアルを表示します

3. シーンの紹介:

1. 通常のメッセージ シナリオ: さまざまなメッセージ タイプの中で、通常のメッセージが最も単純で重要です。通常のメッセージは RocketMQ の基本的なメッセージ タイプであり、高スループット、スケーラブル、低遅延、および非同期通信機能を提供します。

2. タイミング メッセージ シナリオ: タイミング メッセージとは、プロデューサーがメッセージをメッセージ キューに送信した後、そのメッセージがコンシューマーによってすぐに消費されることを期待せず、コンシューマーが指定された時刻にメッセージを消費できることを期待することを意味します。

3. トランザクション メッセージ シナリオ: 分散システム コール シナリオには共通の問題があります。つまり、コア ビジネス ロジックの実行中に、ビジネス処理のために複数の下流ビジネスを呼び出す必要があり、複数の下流ビジネスと現在のコア ビジネスが成功する必要があります。または同時に失敗することで、部分的な成功と失敗の不一致を回避します。簡単に言うと、メッセージ キュー内の「トランザクション」は主に、メッセージのプロデューサーとコンシューマーの間のデータの一貫性の問題を解決します。

4. 連続メッセージ シナリオ: 指定されたトピックについて、同じメッセージ グループのメッセージが厳密な先入れ先出し (FIFO) 原則に従って発行および消費されます。つまり、最初に発行されたメッセージが最初に消費され、その後に発行されたメッセージです。サーバーは、保存と消費の送信順序に厳密に従います。

5. メッセージ蓄積シナリオ: メッセージ蓄積とは、コンシューマーの消費能力が限られているため、短期間にすべてのメッセージを正しく消費できないことを意味し、このとき、未消費のメッセージのステータスがサーバーに保存されます。RocketMQ では、メッセージの蓄積をメトリクス インジケーターを通じて測定でき、キュー内のメッセージの処理速度と蓄積を直接反映できます。

6. メッセージ障害の再配信シナリオ: コンシューマがメッセージの利用に失敗すると、RocketMQ は障害回復のための最大再試行回数に従ってメッセージを再配信します。クラスターモードでは、消費ビジネスロジックコードは消費失敗ステータスを返すか、例外をスローします。メッセージの消費に失敗した場合は、設定された最大リトライ回数に従って再試行され、その後メッセージは破棄されます。

タスク 1: 無料のリソースを受け取る

これを終わらせる
ここに画像の説明を挿入します

RocketMQ の最高レビュー責任者を探しています: プライベート ネットワーク VPC を作成するための運用ガイドライン

https://vpc.console.aliyun.com/vpc/cn-hangzhou/vpcs

ここに画像の説明を挿入します

ここに画像の説明を挿入します
作成が完了したら

ここに画像の説明を挿入します

ここに画像の説明を挿入します
この 2 つがあります。塗りつぶして、
クリックしてすぐに使用します
ここに画像の説明を挿入します
ここに画像の説明を挿入します
。これで完了です。

タスク 2: 評価活動を理解する

これを終わらせる

新しいバージョンはこちらです

https://ons.console.aliyun.com/overview
ここに画像の説明を挿入します

インスタンスリストをクリックします

ここに画像の説明を挿入します

ここに画像の説明を挿入します

トピックをクリックします。これは 0 です

ここに画像の説明を挿入します
トピック管理
ここに画像の説明を挿入します

グループ管理
ここに画像の説明を挿入します

トピック管理に戻り
、メッセージをクリックするとワンクリックで操作できます。
ここに画像の説明を挿入します

ここに画像の説明を挿入します

通常のメッセージング シナリオを体験する

通常のメッセージは最も基本的なパブリッシュ/サブスクライブ モデルであり、ほとんどの企業は非同期デカップリングに通常のメッセージを使用しています。

消費者グループがトピックを購読する

ここに画像の説明を挿入します
ここに画像の説明を挿入します

関数計算を有効にし、クリックして通常のメッセージを送信します

ここに画像の説明を挿入します

ここに画像の説明を挿入します


ここに画像の説明を挿入します
キャラクターメッセージトラックの作成方法はこちら
ここに画像の説明を挿入します

ダッシュボードは、トラブルシューティング、メッセージ管理、その他のシナリオに使用できます。

連続メッセージのシナリオを体験する

シーケンシャル メッセージは、メッセージ グループ内で先入れ先出し方式で処理でき、
異種データの再生同期など、メッセージ処理順序に非常に高い要件が必要なシナリオで使用されます。

トピックの作成
ここに画像の説明を挿入します

グループを作る
ここに画像の説明を挿入します

ワンクリックエクスペリエンス

まず、コンシューマ インスタンスを起動し、このトピックをサブスクライブする必要があります

ここに画像の説明を挿入します

ここに画像の説明を挿入します

プロデューサーを開始してメッセージを送信する

通常のメッセージとは異なり、連続メッセージでは、注文 ID をメッセージ グループとして使用するなど、追加のメッセージ グループを指定する必要があります。RocketMQ は、メッセージを消費するときに同じメッセージ グループ内のメッセージを先入れ先出し方式で処理し
ます
同じ順番で順番に。

ここに画像の説明を挿入します
ここに画像の説明を挿入します

メッセージが正常に送信され、同じメッセージ グループ内のメッセージがシリアル消費のために同じコンシューマ インスタンスに入ることがわかります。

合理的なメッセージ グループを設計することで、順序を維持しながら、高い同時実行性と高いスループットを実現できます。

最後にダッシュボードに入って統計を確認します

スケジュールされたメッセージのシナリオを体験してください

スケジュールされたメッセージは、指定された時間にメッセージをトリガーする消費プロセスを実現でき、スケジュールされたイベント駆動型アーキテクチャで使用できます。

たとえば、注文が作成されてから 30 分間支払いが行われない場合、注文はキャンセルされます。

トピックの作成

ここに画像の説明を挿入します
グループを作る

ここに画像の説明を挿入します

ワンクリックの送受信エクスペリエンス

まず、コンシューマ インスタンスを起動してトピックをサブスクライブする必要があります。

ここに画像の説明を挿入します

別のジェネレーターを開始し、このトピックにメッセージを送信します

通常のメッセージとは異なり、スケジュールされたメッセージはスケジュールされた時間を指定する必要があります

ここに画像の説明を挿入します

遅延メッセージであるため、最初は表示されず
ここに画像の説明を挿入します
、20 秒ほど待つ必要があります。

ここに画像の説明を挿入します

消費者も購入に成功しました

最後に、ダッシュボードに入って統計を表示します

トランザクション メッセージのシナリオを体験する

トランザクション メッセージにより、プロデューサー トランザクションとコンシューマー トランザクションが結果整合性を実現できるようになります。

一般に、分散トランザクションの要件が高いトランザクションや支払いなどのシナリオで使用されます。

トピックの作成
ここに画像の説明を挿入します

グループを作る

ここに画像の説明を挿入します

メッセージングエクスペリエンス

作成したコンシューマ グループを使用してコンシューマ インスタンスを起動し、このトピックをサブスクライブします。

ここに画像の説明を挿入します

ジェネレーターを起動してメッセージを送信する

ここに画像の説明を挿入します

通常のメッセージとは異なり
、トランザクション メッセージのジェネレーターは、
トランザクション コーディネーター RocketMQBroker による例外補償のためのローカル トランザクション ステータス レビューアーを実装する必要もあります。詳細なコードについては、デモを参照してください。

プロデューサのローカル トランザクションとメッセージが同時に正常に送信された後にのみ、メッセージはコンシューマに表示されます。

コンシューマ トランザクションを実行して、プロデューサ トランザクションとコンシューマ トランザクションが結果整合性を確実に達成する

最後に、ダッシュボードに入って統計を表示します

ここに画像の説明を挿入します

メッセージ蓄積シナリオを体験する

メッセージの蓄積はメッセージの異常なシナリオです

大量のメッセージの消費が遅い場合、または同様の理由で失敗した場合、成功した消費の速度が実稼働速度に追いつかない状態が続きます。

メッセージが溜まっていきます

この問題はできるだけ早く解決する必要があります。そうしないと誤動作が発生します。

トピックの作成

メッセージの蓄積には種類は関係ありませんが、ここでは通常のメッセージを使用することにします。

ここに画像の説明を挿入します

グループを作る

ここに画像の説明を挿入します
リソースの作成後、エクスペリエンスを送受信します

消費累積のテンプレートをクリックします。
ここに画像の説明を挿入します
ここでは、ジェネレーターが大量のメッセージを送信するようにシミュレートされ、コンシューマーは消費を続けてタイムアウトします。

ここに画像の説明を挿入します

正常に生成されたメッセージの量は、正常に消費されたメッセージの量よりもはるかに速く、徐々に増加していることがわかります。

この時点ですでに蓄積が発生しています

スタッキングの問題をトラブルシューティングするには、グローバルな視点が必要であり、ダッシュボードは多くの助けを提供します。

ダッシュボードを通じて、プロデューサーの視点からメッセージの作成速度を確認できます。

蓄積の原因が突発的なメッセージトラフィックなのか、容量不足なのかを確認してください。

ここに画像の説明を挿入します

また、消費者の観点からメッセージの蓄積曲線を確認して、生成されたビジネスへの影響を評価することもできます。また、消費時間と成功率を確認して、蓄積が遅い消費者によって引き起こされたのか、消費ビジネス エラーによるものなのかを判断することもできます。 、そして最後にそれを実際のコードロジックと実行ステータスと組み合わせて、最終的に根本原因を特定し、蓄積の問題を解決します。

ここに画像の説明を挿入します

メッセージ再送信シナリオを体験してください

異常なメッセージ フローに属するメッセージの競合

メッセージの消費が失敗した後、信頼性の高いメッセージ サービスと非同期リンクの最終的な一貫性を実現するために、ブローカーは消費が成功するか、消費数が再試行しきい値を超えるまで再試行します。

まずはトピックを作成します

すべてのメッセージ タイプが再投資されるため、通常のメッセージを例として取り上げます。
ここに画像の説明を挿入します
トピックを作成した後、コンシューマー グループを作成する必要があります。

ここに画像の説明を挿入します

リソースの作成後、エクスペリエンスを送受信します

メッセージ再投稿テンプレートをクリックします
ここに画像の説明を挿入します

これにより、ジェネレーターがメッセージを送信し、コンシューマーが消費エラーを返すことがシミュレートされます。

最初の消費失敗後、ブローカーは一定期間後に再投資を行い、再投資の回数に応じて再投資間隔が徐々に長くなり、どんどん長くなっていることがわかります。

ここに画像の説明を挿入します

メッセージトラックをクリックすると、詳細な再投資時間と回数が表示されます。

ここに画像の説明を挿入します

最後にダッシュボードに入って統計を表示します

体験概要

ワンクリック体験は確かに可能です

経験はかなり良いです

技術的な初心者にも非常に優しい

1.初心者体験カテゴリー:

1) このシナリオを初めて使用し、製品使用プロセスを出力したときどう感じましたか。

最初の体験は非常に良い感じです。使用プロセスは上記のリンクを参照してください。

2) このシナリオの経験を通じて、RocketMQ 製品を初めて使用する他のユーザーにどのような学習上の提案をしますか。

初めて学習する学生への提案 最初に RocketMQ について学ぶことができます。使用したことがあればさらに良くなります。

私も以前に RocketMQ を使用したことがありますが、トランザクション メッセージ

2. 高度なエクスペリエンスのカテゴリには次のものが含まれますが、これらに限定されません (少なくとも 2 つ選択してください):

1) 今回の体験シーンではソースコードを実装しましたが、ソースコードを理解してどのような感想を持ちましたか?

トランザクションメッセージ

2) RocketMQ のこの機能はどのようなシナリオで使用する傾向がありますか?また、それはあなたまたは会社にどのようなメリットや価値をもたらしますか?

RocketMQ と他のメッセージ キューの違いは、トランザクション メッセージを送信できることだと思います。

3) このシナリオの利点は何だと思いますか? そして改善すべき点は何でしょうか?

トランザクション メッセージは、プロデューサーとコンシューマーの最終的な一貫性を保証できます。

フラッシュ セール プロジェクトでは、RocketMQ を使用して、Redis インベントリと mysql インベントリの一貫性を確保しました。

つづく

まだ追加されていない紹介文やコードがいくつかあります。

やっと

2023-8-29 10:24:53

私たち全員に明るい未来があります

大学院受験の成功を祈り、
仕事での
成功を祈り、欲しいものを手に入れて
ください、いいね、集めて、フォローしてください。

おすすめ

転載: blog.csdn.net/qq_51625007/article/details/132546158