blog

高同時実行RocketMQ - Consumer側のキューの負荷分散割り当てメカニズム、同時消費と進捗状況の提出

Consumer側のキューの負荷分散割り当てメカニズム キューの束であり、分布の...

Jan 27, 2024 · 3 min. read


RocketMQ の実戦

RocketMQ の実際の使用について何が学べるでしょうか?

  • RocketMQ アプリケーション シナリオ
  • RocketMQプロジェクトにおける一般的な問題
  • RocketMQの一般的なソリューション
  • 本番環境で RocketMQ を使用する方法
  • RocketMQ を使用する理由
  • パフォーマンスの最適化のためにRocketMQを使用する方法

ECビジネスのクローズドループ知識の解説

ここでは、ユーザーが電子商取引 APP で商品を購入するための完全なビジネス プロセスについて説明します。

優れた電子商取引システムには、マーケティング システム、商品システム、フルフィルメント システム、取引システム、在庫システム、支払いシステムが含まれることがよくあります。

  1. 製品を購入するには、ユーザーはまず製品をショッピング カートに追加し、製品を選択して注文を送信します。
  2. 注文を送信すると、在庫システムによって在庫がロックされます。
  3. 取引システムは注文をデータベースに書き込み、支払いシステムはサードパーティの支払いプラットフォームに対して前払いアクションを開始して支払い明細を生成します。
  4. そして、ユーザーに支払い操作を実行するよう通知し、ユーザーは支払いリクエストを開始し、サードパーティの支払いプラットフォームに支払います。
  5. 支払いが成功すると、支払いシステムは [Payment Successful] メッセージを MQ に送信し、取引システムは [Payment Successful] メッセージを消費します。消費中に、フルフィルメント システムは商品の出荷とユーザーが商品を受け取った後の操作を通知します。

マーケティング システムでは、別のビジネス シナリオとして、プロモーション活動を開始してユーザーにプッシュすることが挙げられます。

マーケティングシステムの技術・エンジニアリング体制

マーケティングシステムでは、マーケティングメッセージは定期的に配信システムに送信され、xxljobを使用して実行されます。 全体的なプロセスは次のとおりです。

xxljob を使用する理由

マーケティングのスケジュールされたプッシュ タスクの 1 つのコピーがデータベースに保存されるため、複数のプッシュ システムが同じプッシュ タスクをプルする可能性があります。これには、xxljob 分散タスク スケジューリング プラットフォームを使用する必要があります。

配信システムでは、テキスト メッセージや電子メールなどの情報をユーザーにプッシュするためにサードパーティの配信プラットフォームを呼び出す必要がありますが、サードパーティの配信プラットフォームによるプッシュの頻度と量は制限されなければなりません。配信システムでのユーザーへのプッシュは非常に大きいため、2 つのシステム間の同時実行性のギャップを均衡させるために、RocketMQ が非同期プッシュを実行するために導入されます。

まず、多数のプッシュ メッセージをRocketMQにロードし、サードパーティの配送プラットフォームの速度に応じて消費します。

ここでは、スケジュールされたプッシュ タスクを実行するために xxljob も導入されています。ユーザーへのプッシュがスケジュールされているため、これらのスケジュールされたタスクはデータベースに格納され、ユーザーにプッシュされるスケジュールされたタスクの量も非常に大きくなります。ユーザーが数千万人いる場合は、複数のプッシュ システムを導入する必要があります。これにより、ユーザーのプッシュ速度が大幅に向上することができます。したがって、xxljob は分散スケジューリングを実行するために使用され、各プッシュ システムがプッシュ タスクの一部を担当します。

Read next

行列分解推薦システムの秘密を深掘り

1.背景 行列分解推薦システムは、ビッグデータに基づく推薦システムであり、主に情報過多の問題を解決し、ユーザーにパーソナライズされた推薦サービスを提供するために使用されます。今日のインターネット時代において、情報過多の問題は人々の生活における最も一般的な問題の一つとなっています。インターネット利用者数

Jan 20, 2024 · 1 min read