URL短縮サービスのシステムアーキテクチャを設計する
フレームワークについて
URL短縮サービスの例では、ブラウザ、ロードバランサー、APIサービス、Redisキャッシュ、PostgresのURLマップ、IDジェネレーター、分析サービス、CDN、Kafkaキューを取り上げています。8本の矢印で、これら9つのコンポーネントを接続しています。別の指標ボックスには、1日1億件のリダイレクト、50ミリ秒未満のp99レイテンシ、99.99%の稼働率がサンプル目標として記載されています。これらは測定結果ではありません。
APIはキャッシュとデータベースに接続されています。そのほか、キャッシュからID生成を経由してCDNへ向かうリンクと、データベースから分析を経由してKafkaへ向かうリンクがあります。この配置では、リンク作成、キャッシュ検索、リダイレクト配信、イベント発行の実際の順序は未確定です。
リンク作成リクエストとリダイレクトリクエストを分離して、図を調整してください。IDを割り当てる場所、キャッシュミスがストレージに到達する方法、クリックイベントを発行するタイミングを定義します。図が目標達成の証拠であるかのように扱うのではなく、想定トラフィックに基づいて目標値を検証してください。
含まれる内容
URL短縮サービスのシステム設計
✦ Free preview · Sign in to use
よくある質問
いいえ。その数値は、サンプルの指標ボックスに記載されたラベルです。キャパシティプランニングや負荷テストは、定義したワークロードに基づいて別途実施する必要があります。
図では、キャッシュからIDジェネレーターを経由してCDNへ接続しています。ただし、作成リクエストでIDを割り当て、URLのマッピングを保存する方法までは明記されていません。その処理経路を明示するよう依頼してください。
どちらも示されていません。実装の参考として図を使用する前に、有効期限、無効なリンクへの応答、サービスに必要なチェックを追加してください。
無料で開始。クレジットカード不要。