Entwirf die Architektur eines URL-Shorteners
Über das Framework
Das Beispiel für den URL-Shortener zeigt einen Browser, Load Balancer, API-Service, Redis-Cache, eine Postgres-URL-Zuordnung, ID-Generator, Analytics-Service, CDN und Kafka-Warteschlange. Acht Pfeile verbinden diese neun Komponenten. Ein separater Metrikkasten nennt 100 Millionen tägliche Weiterleitungen, eine p99-Latenz von unter 50 Millisekunden und 99,99 % Verfügbarkeit als Beispielziele, nicht als gemessene Ergebnisse.
Die API ist mit Cache und Datenbank verbunden. Weitere Verbindungen führen vom Cache über die ID-Generierung zum CDN sowie von der Datenbank über Analytics zu Kafka. Dadurch bleibt die tatsächliche Reihenfolge von Link-Erstellung, Cache-Abfrage, Weiterleitungszustellung und Veröffentlichung von Ereignissen offen.
Passe die Zeichnung an, indem du Anfragen zur Link-Erstellung und Weiterleitung voneinander trennst. Definiere, wo IDs vergeben werden, wie Cache-Fehler den Speicher erreichen und wann Klickereignisse ausgelöst werden. Überprüfe die Ziele anhand deiner Traffic-Annahmen, statt das Diagramm als Beleg dafür zu betrachten, dass sie erreichbar sind.
Enthalten
Systemdesign eines URL-Shorteners
✦ Free preview · Sign in to use
Häufig gestellte Fragen
Nein. Diese Zahl ist eine Beschriftung im Beispiel-Metrikkasten. Kapazitätsplanung und Lasttests wären separate Aufgaben auf Basis einer definierten Auslastung.
Die Zeichnung verbindet den Cache mit dem ID-Generator und anschließend mit dem CDN. Sie erklärt nicht, wie eine Erstellungsanfrage eine ID vergibt und die URL-Zuordnung speichert. Bitte fordere diesen Ablauf ausdrücklich an.
Beides ist nicht dargestellt. Ergänze Ablaufzeiten, Antworten für ungültige Links und die für deinen Dienst erforderlichen Prüfungen, bevor du das Diagramm als Implementierungsreferenz verwendest.
Kostenlos starten. Keine Kreditkarte erforderlich.