すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for RocketMQ:特典発行

最終更新日:Jul 09, 2024

電子商取引や新規小売の分野では、特典の発行は、特定のユーザーに対して特定の運用活動が行われるシナリオに適用できます。 技術的には、これらのシナリオでデータベースとキャッシュデータの間の強い一貫性を確保することは困難です。 この問題を解決するために、Alibaba Cloud ApsaraMQ for RocketMQが特典の発行を提供しています。 このトピックでは、eコマースのシナリオを例として使用して、特典発行ソリューションの背景、アーキテクチャ、および利点を説明します。

背景

eコマースプラットフォームが特定のユーザーのマーケティング活動を実行することを決定すると、さまざまなユーザーグループに基づいてさまざまなマーケティングポリシーを設定します。
  • ユーザースクリーニング: ビジネス要件に基づいて、新しいユーザーやメンバーなど、さまざまなユーザーに特典を発行するための特定の基準を設定します。
  • 特典タイプ: 赤い封筒、ポイント、クーポンが含まれます。
  • 収集コスト: 割引クーポンを収集するためにメンバーポイントを消費するなど、特典を収集するためのコストを設定します。
  • 時間管理: 特典発行のタイミングを設定します。たとえば、午前10時に新しいユーザーに100クーポンを発行します。
  • インベントリ: 特典の数が十分であるかどうか、およびターゲットユーザーの数と一致するかどうかを判断します。

運用データは、データベースに書き込まれた後、技術ポリシーに変換され、さらにキャッシュに書き込まれ、ユーザ発行リンクデータ、すなわちルールに変換される。 これらのルールを満たすユーザーのみが、対応する特典を受け取ることができます。

課題

ユーザーは、対応するキャッシュデータにアクセスして特典を収集できます。 これにより、効率的なユーザーアクセスが保証され、データベースへの負荷が軽減されます。 ただし、これは新しい問題につながります。

  • 過剰なルールは、キャッシュに書き込まれる過剰なデータベースデータをもたらし、さらに、下流のキャッシュに大きな圧力をもたらす。 しかし、そのようなケースはまれです。
  • データベースデータはキャッシュに一度だけ書き込まれます。 このため、ネットワークジッタ等によりデータの書き込みに失敗した場合、データの更新が遅延する。 たとえば、当初は在庫を100,000の特典に設定する必要がありますが、運用ポリシーで数値が10に変更されているとします。 データが時間内に同期されない場合、ダウンストリームに通知できず、資本損失が発生します。

アーキテクチャ

ApsaraMQ for RocketMQは再試行メカニズムを提供し、メッセージが失われるのを防ぎます。 したがって、特典発行ソリューションは、データベースとキャッシュされたデータ間の強い一貫性を保証できます。 具体的には、データベースとキャッシュの間でApsaraMQ for RocketMQが使用されます。 次の図はアーキテクチャを示しています。

coupon-scenario

利点

ApsaraMQ for RocketMQには、次の利点があります。

  • 非常に高いデータスループットをサポートします。
  • 大量のメッセージの蓄積をサポートし、ダウンストリームアプリケーションに対するトラフィックピークの影響を軽減します。
  • データベースとキャッシュ間の実装が簡素化され、コード開発の作業負荷が大幅に軽減されます。 ApsaraMQ for RocketMQがないと、実装は非常に複雑になります。
  • これにより、ユーザーはメッセージをリアルタイムで送信およびサブスクライブでき、再試行機能を提供します。これにより、メッセージの紛失を防ぎ、メッセージの一貫性を確保できます。

詳細情報

ApsaraMQ For RocketMQの機能の詳細については、「メッセージの再試行」をご参照ください。