URL短縮サービスのシステム設計

ダイアグラム11ノードエンジニアリング · URLサービスのアーキテクチャ1つのプロンプトから作成
読み取り専用プレビュー

プロンプト

URL短縮サービスのシステムアーキテクチャを設計する

自分用に作り直す

フレームワークについて

短縮リンクサービスの構成要素を確認する

URL短縮サービスの例では、ブラウザ、ロードバランサー、APIサービス、Redisキャッシュ、PostgresのURLマップ、IDジェネレーター、分析サービス、CDN、Kafkaキューを取り上げています。8本の矢印で、これら9つのコンポーネントを接続しています。別の指標ボックスには、1日1億件のリダイレクト、50ミリ秒未満のp99レイテンシ、99.99%の稼働率がサンプル目標として記載されています。これらは測定結果ではありません。

APIはキャッシュとデータベースに接続されています。そのほか、キャッシュからID生成を経由してCDNへ向かうリンクと、データベースから分析を経由してKafkaへ向かうリンクがあります。この配置では、リンク作成、キャッシュ検索、リダイレクト配信、イベント発行の実際の順序は未確定です。

リンク作成リクエストとリダイレクトリクエストを分離して、図を調整してください。IDを割り当てる場所、キャッシュミスがストレージに到達する方法、クリックイベントを発行するタイミングを定義します。図が目標達成の証拠であるかのように扱うのではなく、想定トラフィックに基づいて目標値を検証してください。

含まれる内容

得られるもの

  • 9つのコンポーネントと、サンプルのパフォーマンス目標を記載した別ボックス
  • RedisおよびPostgresに接続された作成/リダイレクトAPI
  • ID生成、CDN、分析、Kafkaの各コンポーネント
  • 明示的なリクエスト経路へ発展させられる8本の概略リンク
ダイアグラム

URL短縮サービスのシステム設計

システム設計アーキテクチャURL短縮サービス分散システム面接対策

✦ Free preview · Sign in to use

よくある質問

よくある質問

このテンプレートでは、1日あたり1億件のリダイレクトを想定していますか?

いいえ。その数値は、サンプルの指標ボックスに記載されたラベルです。キャパシティプランニングや負荷テストは、定義したワークロードに基づいて別途実施する必要があります。

IDジェネレーターは、完全な作成フロー内に配置されていますか?

図では、キャッシュからIDジェネレーターを経由してCDNへ接続しています。ただし、作成リクエストでIDを割り当て、URLのマッピングを保存する方法までは明記されていません。その処理経路を明示するよう依頼してください。

この図には、リンクの有効期限や不正利用への対策が含まれていますか?

どちらも示されていません。実装の参考として図を使用する前に、有効期限、無効なリンクへの応答、サービスに必要なチェックを追加してください。

URL短縮サービスのシステム設計

無料で開始。クレジットカード不要。

Free preview · Sign in to use