Bit.ly benzeri bir URL kısaltma servisi tasarlayın.
Cevap
- Gereksinimler: kısa link oluşturma, yönlendirme; okuma/yazma oranı yaklaşık 100:1.
- Kısa kod: artan bir id'yi Base62'ye çevirmek (7 karakter ≈ 3,5 trilyon kombinasyon) veya hash alıp çakışma kontrolü yapmak.
- Depolama:
kod → uzun_urlanahtar-değer yapısı; NoSQL veya kod üzerinde index'li SQL. - Okuma yolu: Redis cache + CDN; 301 (kalıcı) veya analitik için 302 yönlendirme.
- Ölçekleme: durumsuz API sunucuları, load balancer, id üretimi için dağıtık sayaç (ör. aralık tahsisi).
İlgili Sistem Tasarımı soruları
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.