公開日

Uber はどのようにして統合 Redis キャッシュを使用して 4,000 万件の読み取りを処理したのでしょうか?

著者

Image

"実装には 3 つの主要な部分があります。

1 - CDC を使用した CacheFront の読み取りおよび書き込み

  • Uber は、Redis、Docstore、MySQL を備えた統合キャッシュ ソリューションである CacheFront を構築しました。

  • マイクロサービスではなく、Docstore のクエリ エンジンは読み取りリクエストのために Redis と通信します。

  • キャッシュ ヒットの場合、クエリ エンジンは Redis からデータをフェッチします。キャッシュ ミスの場合、リクエストはストレージ エンジンとデータベースに送られます。

  • 書き込みの場合、Docstore の CDC サービス (Flux) は Redis 内のレコードを無効にします。 MySQL binlog イベントを追跡して、無効化をトリガーします。

2 - Redis ストリーミングによるマルチリージョン キャッシュのウォーミング

  • リージョンのフェイルオーバーにより、キャッシュ ミスが発生し、データベースに過負荷がかかる可能性があります。

  • これに対処するために、Uber のエンジニアリング チームはクロスリージョン Redis レプリケーションを使用しています。これは、Redis 書き込みストリームを追跡してキーをリモート リージョンに複製することによって行われます。

  • リモート リージョンでは、ストリーム コンシューマがクエリ エンジンに読み取りリクエストを発行し、クエリ エンジンがデータベースを読み取り、キャッシュを更新します。

3 - Redis と Docstore シャーディング

  • Uber のすべてのチームが Docstore を使用しており、一部のチームは膨大な数のリクエストを生成します。

  • Redis インスタンスと Docstore インスタンスは両方とも、負荷を処理するためにシャード化またはパーティション化されています。ただし、単一の Redis クラスターがダウンすると、ホット DB シャードが作成される可能性があります。

  • これを防ぐために、DB シャーディングとは異なるスキームを使用して Redis クラスターをパーティション分割しました。これにより、負荷が確実に均等に分散されます。 "

日本語版は Ai 支援を使用しているため、小さな間違いが存在する可能性があることをご了承ください。

著者

Ai Base Network (ABN), ABN ASIAは、アカデミアに深く関わり、アメリカ、オランダ、ハンガリー、日本、韓国、シンガポール、ベトナムでの仕事経験を持つ人々によって設立されました。ABN ASIAは、学問とテクノロジーが機会と出会う場所です。最先端のソリューションと優れたソフトウェア開発サービスにより、ビジネスがレベルアップし、グローバルシーンに挑戦できるよう支援しています。 私たちの取り組み: より速く。 より良い。 より信頼性が高くなります。 ほとんどの場合、価格も安くなります。

いつでも、ITサービス、デジタルコンサルティング、既製のソフトウェアソリューション、または提案依頼書(RFP)をお探しの際は、お気軽にお問い合わせください。お問い合わせ先は[email protected]です。お客様のテクノロジーに関するニーズにお応えします。

ABNAsia.org

© ABN ASIA