宝くじを描きましたか?春節の赤い封筒の背後にあるテクニカルサポートを数えます

この記事はInfoQから複製されています

大晦日の春節ガラを見るだけでなく、主要なアプリの春節の赤い包みの活動に参加することは、徐々に中国の旧正月の伝統になっています。赤い封筒はもはや単なる「お金」ではなく、より多くの役割を担い、アプリケーションのトラフィックの入り口と成長エンジンになります。ビッグデータ、クラウドコンピューティング、支払いと決済などの新技術のサポートには、春節の赤い封筒の実現が不可欠です。この記事では、Alipay、WeChat、Kuaishou、QQの4つの主要企業が読者のために公開している春節の赤い封筒の技術的実践を集めています。

1あなたは祝福されましたか?Alipayレッドパケットの実現

「プロの献身、あなたはそれを手に入れましたか?」私はあなたが最近この文を頻繁に聞くべきだったと思います。AlipayセットWufuは、春節の期間中、ほとんどの人にとってなくてはならない交流となっています。2020年の春節には3億人以上が集まり、今年のJifuアクティビティには、従来のAR掃引の祝福とAntに加えて、新しいトリックがあります。森。「風」という言葉と馬場農園を追加。

その中でも、スイープフォーチュンカードの参加者数が最も多い可能性があります。同時実行性の問題を解決するために、クライアント+サーバー並列処理のアーキテクチャシステムを採用し、2つの認識方法をサポートしています。処理用サーバー。処理中、認識精度は高くなりますが、サーバーが処理できる数は限られています。2つ目は、最初にクライアント検出を実行し、クライアントが認識できない場合はサーバーをアップロードします。クライアントの検出機能はわずかに弱いですが、各端末に計算能力を分散させることで、サーバーへの負荷を大幅に軽減できます。

多くの人が参加した5つの祝福活動の背後にあるテクニカルサポートは何ですか?Alipayチームはかつて技術的保証を共有していました。データに関しては、2つのデータベースはGeaBaseとOceanBaseです。

Wufuイベントには多くのユーザーインタラクションシナリオがあるため、Friends Fucaランキングリストを例にとると、各友達のFucaの総数をカウントして並べ替えるだけのようですが、ユーザーレベルが上がると難易度が上がります。この問題の増加になります。一人一人に10人の友達がいて、アクティビティに参加しているユーザーの数が1億人だとすると、クエリの規模は数十億に達し、ラッキーカードの数はリアルタイムで更新する必要があります。

この場合、OracleやMySQLなどの通常のリレーショナルデータベースのパフォーマンスは特に優れていません。ユーザーの友達の問い合わせはミリ秒以内に完了できますが、友達の友達の問い合わせは指数関数的に増加します。クエリが深いほど、時間がかかります。消費時間が長くなります。そのため、Jiwufuのアプリケーションシナリオでは、AntFinancialが独自に開発した分散グラフデータベースGeaBaseを使用しています。

データストレージ構造とクエリルールが異なるため、クエリの深さはGeabaseの速度にほとんど影響を与えません。リレーショナルデータベースのクエリ結果を取得するのに30秒かかりますが、GeaBaseは0.168秒しかかかりません。リレーショナルデータベースの場合は困難です。結果をクエリし、Geabaseも完了するのに2秒しかかかりません。

Jiwufuなどの全国的な活動では、ピークトラフィックは、サーバーの耐圧能力の大きなテストです。宝くじが抽選された瞬間、解答用紙が渡されて結果が出された瞬間です。各ユーザーの当選ロジックの背後には数十のデータがあり、同期が必要な数十億のデータがあります。全体として。これらのデータは2分以内に同期する必要があり、同時データの数は1秒あたり数千万にも上ります。

サーバーリソースをより効率的かつ費用効果の高い方法で割り当てる方法は?OceanBaseはこれに役割を果たしました。数分以内にトラフィックを引き継ぐようにリソースをスケジュールできます。また、洪水のピークが過ぎた後、無駄を避けるためにリソースをすばやく回復できます。

2赤い封筒をつかみましたか?WeChatレッドパケットの実現

中国の旧正月の間、さまざまなWeChatグループで赤い封筒をつかむことは、春祭りを祝うための人気のある方法になりました。今年のWeChatの赤い封筒の比較的新しい変更は、独自の赤い封筒カバーを作成できることです。

パッケージ、送信、グラブ、解体、送信された赤い封筒の数の照会、赤い封筒の受信など、WeChatの赤い封筒を使用する手順は、誰もが知っていると思います。その中で重要なのは、赤い封筒を送信し、赤い封筒を取得することです。これが私たちの一般ユーザーの視点です。WeChatチームの視点から見ると、レッドエンベロープシステムは、情報フロー、ビジネスフロー、資本フローの3つの部分で構成されています。これらの3つの部分は、組織構造内のさまざまなバックエンドチームによって完了されます。情報フロー-WeChatバックエンド、ビジネスフロー-WeChat支払いバックエンド、および資本フロー-Tenpayバックエンドです。

画像2016年の大晦日イベント中の赤い封筒システムアーキテクチャ

赤い封筒をつかむ段階で軽量で信頼できる方法は?WeChatチームの紹介によると、主に3つの方法があります。

  • ゼロRPC呼び出し:通常、クライアントによって開始された要求は、アクセスサービスを介して処理するために特定のビジネスサービスに転送され、RPC呼び出しが生成されます。ただし、シェイクロジックはアクセスサービスに直接埋め込まれており、アクセスサービスはシェイクリクエストを直接処理して赤いエンベロープを配布できます。

  • ゼロデータベースストレージ:赤い封筒を取得するプロセスでは、WeChatチームはデータベースをまったく使用せず、信頼性がより保証されている一方で、数桁のパフォーマンス向上を達成できます。

  • 非同期化:ユーザーが赤い封筒を取得した後、後続のアカウンティング処理は同期的に実行されません。リクエストは赤い封筒の非同期キューに配置され、非同期キューを介してWeChat支払いバックグラウンドに転送され、WeChat支払いバックグラウンドに転送されます。後続のビジネスロジックを完了します。

同時に、ネットワークの断片化の問題に対処するために、WeChatチームは各データセンターに3つの独立したデータパークを構築しました。これにより、ネットワーク分割などの障害がどのデータパークでも発生する可能性があります。公園内の島になり、他の2つデータパークは、データセンター全体からのリクエストを損傷することなく受け入れることができます。

3サイコロを投げましたか?快手紅包の実現

2021年2月5日、快手は香港に上場し、194%上昇して1株あたり338香港ドル、発行価格は1株あたり115香港ドル、時価総額は1.39兆香港に達しました。香港ドル。今年、快手は、サイコロを投げる、運を集める、強気と戦うなどのゲームを含む、21億の強気の蓄積活動を計画しました。

2020年、快手はCCTV春節ガラの独占インタラクティブパートナーになりました。「春節10億現金赤い封筒」イベントでは、快手赤い封筒のインタラクションの総数は639億回に達し、赤い封筒の数は駅は5億9000万回に達しました。快手春祭りガラ生放送室の視聴者数は7億8000万人で、同時利用者数は2,524万人と最も多い。

快手は、伝統的な赤い包みに基づいて多くの新しいトリックを演じ、新年のライト、ランドマークのAR、かわいい赤ちゃんの新年の挨拶、私の人生など、新年の特殊効果をたくさん追加しました。

これらの特殊効果の実現には、MRやARなどの技術が適用されます。MRは、春節の要素を現実世界と統合して、仮想オブジェクトと物理オブジェクトが共存し、リアルタイムで相互作用できる環境を作成する複合現実技術であり、没入型のユーザーエクスペリエンスをもたらします。KuaishouアプリのMRアルゴリズムは、単一のカメラを使用して画像データを収集し、ディープラーニングとステレオジオメトリアルゴリズムを使用してカメラの位置を推定し、3Dデータをリアルタイムで出力して、MR効果を実世界にうまく融合させます。

誰もが感じることができるこれらの技術に加えて、赤い封筒全体を静かにサポートするいくつかの技術的実践もあります。TencentCloudのシニアエンジニアであるChenHongliangは、以前、Tencent Cloud File StorageCFSがアプリの広告に関する迅速な推奨事項をどのようにサポートしているかを共有しました。

CFSファイルストレージは主にTKEコンテナノードとペアになっており、春節期間中の快手の広告推奨ビジネスを保証していると理解されています。CFSは主に、モデルファイルのリリース、ビジネスアプリケーションの取得モデル、広告の推奨という3つの特定の広告推奨ビジネスプロセスに参加しています。春節の間、KuaishouはTencentCloudで3つのTKEコンテナクラスターを使用し、合計4000以上のノードと8000を超えるポッドを使用してビジネスのプレッシャーを共有しました。これらのポッドは、アプリケーションを起動する前に、数十GBの範囲のモデルファイルのセットをロードする必要があります(組み合わせには合計でいくつかのセットがあります)。

4ブラシをかけましたか?QQ春節赤い封筒の実現

他のプラットフォームの赤い封筒と同様に、QQ春節の赤い封筒にも、企業の赤い封筒、スワイプした赤い封筒、ARの赤い封筒などの多くの形式があります。

QQ Spring Festivalレッドエンベローププロジェクトには、モバイルQQモバイル端末、モバイルQQQバックエンド、QQウォレット(tenpay)システム、ギフト券システム、公式アカウントなど、多くのビジネスシステムが関係していると報告されています。各システムのパフォーマンススループットは大きく異なります。QQチームは、かつてQQの2017年春節の赤い封筒の背後にある技術的実践を共有していました。

QQレッドエンベロープの簡略化された構造は、主に次の部分で構成されています:アクセスレイヤー、宝くじシステム、ストレージシステム、配信システム、公式アカウントメッセージ通知、およびCDNリソース。その中で、アクセスレイヤーは赤いエンベロープバックエンドサービスのゲートであり、有効なリクエストがバックエンドサービスに透過的に送信されるように、宝くじリクエストの前処理を担当します。宝くじシステムはコアです。合理的な設計確率でユーザーの宝くじのリクエストを受け入れるQQの赤い封筒のシステム宝くじの操作を完了し、宝くじの結果を安全に保存します。配信システムは、主に最終的なギフトがユーザーのアカウントに配信されるようにすることです。 、QQ宝くじの残高、QQカードクーポンまたはサードパーティのシステムアカウント。

春節の赤い封筒の主な特徴は、大規模で瞬時に殺すということです。ユーザーが期待するのは、赤い封筒を見た後、スムーズにつかむことです。したがって、待ち時間を短縮し、スタッターをなくすことは、最も直接的な体験です。弱いネットワーク環境でも、シルクのように滑らかにすることができます。これに基づいて、QQチームはテクノロジーの多くの最適化を行いました。

1つはリソースのプリロードです。元のQQの赤いパケットで頻繁に変更されない静的リソースは、ページ、画像、JSなどのアクセス速度を向上させるために、さまざまなCDNに配布され、動的に変更されるコンテンツのみがプルされます。リアルタイムの背景。ただし、すべての静的リソースがCDNを使用して分散されている場合でも、トラフィックフラッドをサポートすることはできません。そのため、QQチームは、モバイルQQオフラインパッケージメカニズムを使用して、赤いエンベロープ関連の静的リソースをモバイルQQモバイル端末に事前にロードして、CDNへの圧力を軽減する方法を採用しました。オフラインパッケージをプリロードする方法は2つあります。1つは静的リソースをプリロードリストに入れる方法、もう1つはオフラインパッケージをアクティブにプッシュする方法です。

2つ目は、キャッシュと遅延です。トラフィックのピークが来ると、ユーザー操作要求が同時にバックグラウンドに流れ、バックグラウンドサーバーがクラッシュします。バックグラウンドが維持されていても、必要な帯域幅と機器のリソースコストは天文学的なものです。ユーザーがスワイプ操作ごとにバックグラウンドへのリクエストを開始する必要はありません。したがって、QQチームはユーザーのスワイプ時間を要約し、集約されたデータを定期的かつ非同期的にバックグラウンドに送信し、結果をQQにフィードバックしました。モバイル端末。

繰り返しになりますが、これはピークのミスアライメントです。さまざまな赤いエンベロープアクティビティが運用手段を通じてさまざまな時点で分散され、リクエストのピーク値が効果的に減少します。

最後に、動的調整があります。モバイルQQモバイル端末と携帯電話の背景は、2つの独立したシステムではなく、全体です。モバイルQQシステムは完全な負荷監視システムを構築しています。バックグラウンド負荷が警告ラインに上昇すると、モバイルQQモバイル端末は、バックグラウンドの負荷状況に応じてバックグラウンドに送信される要求を動的に減らし、バックグラウンドの過負荷や雪崩を防ぐことができます。 。

おすすめ

転載: blog.csdn.net/m0_46163918/article/details/113810233