Gesehen
Systemdesign
Google
Gemini 2.5 Flash
VS
Anthropic
Claude Sonnet 4.6
Entwerfen Sie einen globalen URL-Verkürzungsdienst
Entwerfen Sie einen öffentlichen URL-Verkürzungsdienst ähnlich wie Bitly. Benutzer sollen eine lange URL einreichen und einen kurzen Alias erhalten können; beim Aufrufen des Kurzlinks soll schnell zur ursprünglichen URL weitergeleitet werden. Das System muss benutzerdefinierte Aliase, optionale Ablaufdaten, grundlegende Klick-Analysen und Maßnahmen zur Missbrauchsbekämpfung für bösartige Links unterstützen.
Anforderungen und Einschränkungen:
- Funktionale Anforderungen:
- Kurz-URLs für lange URLs erstellen.
- Kurz-URLs auf die Original-URLs weiterleiten.
- Benutzergesteuerte (custom) Aliase unterstützen, wenn verfügbar.
- Optionale Ablaufzeit pro Link unterstützen.
- Klickereignisse für Analytics aufzeichnen.
- Benutzern erlauben, einen Link manuell zu deaktivieren.
- Skalierungsannahmen:
- 120 Millionen neue Kurz-URLs pro Monat.
- 1,5 Milliarden Weiterleitungen pro Tag.
- Weiterleitungsverkehr ist global verteilt und leseintensiv.
- Analysedaten sollten innerhalb von 15 Minuten abfragbar sein.
- Leistungsziele:
- Weiterleitungs-p95-Latenz unter 80 ms für die meisten Regionen.
- Erstellung von Short-Links p95 unter 300 ms.
- 99.99% Verfügbarkeit für Weiterleitungen.
- Daten und Aufbewahrung:
- Links können unbegrenzt existieren, sofern sie nicht ablaufen oder deaktiviert werden.
- Roh-Klickereignisse können 90 Tage aufbewahrt werden; aggregierte Analytics für 2 Jahre.
- Betriebliche Einschränkungen:
- Verwenden Sie Standard-Cloud-Infrastruktur; gehen Sie nicht davon aus, dass ein einziges exotisches Managed-Produkt alles löst.
- Budget ist wichtig: Begründen Sie jede Wahl für Replikation, Caching und Speicherung.
- Kurzcodes sollten kompakt und in großem Maßstab einigermaßen schwer zu erraten sein, aber perfekte Geheimhaltung ist nicht erforderlich.
Geben Sie in Ihrer Antwort Folgendes an:
1. Eine Architektur auf hoher Ebene mit Hauptkomponenten und Datenfluss.
2. Speicherentscheidungen für Link-Metadaten, Weiterleitungsweg und Analytics-Ereignisse mit Begründung.
3. Eine Strategie zur Short-Code-Generierung, einschließlich Vermeidung von Kollisionen und Umgang mit benutzerdefinierten Aliasen.
4. Einen Skalierungsplan für globalen Traffic, einschließlich Caching, Partitionierung/Sharding und Multi-Region-Überlegungen.
5. Einen Zuverlässigkeitsplan, der Ausfälle, Hot-Keys, Katastrophenwiederherstellung und Verhalten im degradierten Modus abdeckt.
6. Wichtige APIs und Kerndatenmodelle.
7. Maßnahmen zur Missbrauchsbekämpfung und Sicherheitsüberlegungen.
8. Die wichtigsten Abwägungen, die Sie getroffen haben, und warum.