Sistem Tasarımı Mülakatı: Netflix'i Tasarla

"Netflix'i Tasarla" okuma ağırlıklı bir problemdir ve tek bir gerçek tarafından yönetilir: videoyu küresel ölçekte sunmak, bir hesaplama probleminden çok daha fazla bir içerik dağıtım ve depolama problemidir. Mülakatı yapan kişi, kontrol düzlemini (gezinme, arama, öneriler) veri düzleminden (gerçekten byte'ları akıtmak) ayırmanızı ve petabaytlarca veriyi kullanıcılara yakın şekilde teslim etme konusunda akıl yürütmenizi görmek ister.

Sırayla ele alın: gereksinimleri netleştirin, ölçeği tahmin edin, yükleme/kod dönüştürme pipeline'ını tasarlayın, ardından bir CDN üzerinden oynatma yolunu, ve adaptif bit hızı ile ödünleşimlerle bitirin. Aşağıdaki rehber bu yapıyı takip eder, böylece bir mimariyi ezberlemek yerine akıl yürütmeyi pratik edersiniz.

1. Gereksinimleri netleştirin

Fonksiyonel olanı fonksiyonel olmayandan ayırın ve kapsamı sıkı bir şekilde belirleyin. Çekirdek şudur: kullanıcılar bir kataloğa göz atar ve farklı cihazlarda ve ağ koşullarında videoyu sorunsuzca izler.

  • Fonksiyonel: kataloğa göz atma/arama, oynatmayı başlatma, adaptif kalite, bırakılan yerden devam etme, çoklu cihaz.
  • Fonksiyonel olmayan: çok yüksek kullanılabilirlik, düşük başlangıç gecikmesi, sorunsuz oynatma (arabelleğe almadan), küresel erişim.
  • Kapsam dışı (bunu söyleyin): öneri ML'sinin iç detayları, faturalama, DRM detayları — bunlardan bahsedip sonra erteleyin.

2. Ölçeği tahmin edin

Sayılar CDN öncelikli tasarımı haklı çıkarır. Yüz milyonlarca abone ve zirvede birçok milyon eşzamanlı akış olduğunu varsayalım. Tek bir akış birkaç Mbps tüketir, dolayısıyla toplam çıkış saniyede onlarca terabit'e ulaşır — birkaç merkezi veri merkezinden sunmak mümkün değildir, bu da hemen edge caching'i gerektirir.

3. Alım ve kod dönüştürme pipeline'ı

Yüklenen master'lar oynatma yolunda değil, çevrimdışı olarak işlenir. Her başlık, çok sayıda rendition'a — birkaç çözünürlük ve bit hızına — kod dönüştürülür ve adaptif akış için küçük parçalara (her biri birkaç saniye) bölünür.

  • Kod dönüştürme çiftliği: master'ı birkaç bit hızında H.264/H.265/AV1 rendition'larına dönüştürür; bu son derece paralelleştirilebilir bir toplu iş yüküdür.
  • Parçalama ve paketleme: her rendition'ı, onları açıklayan bir manifest (HLS/DASH) ile kısa parçalara böler.
  • Çıktıları doğruluk kaynağı olarak nesne depolamada (S3 benzeri) saklar, ardından popüler içeriği edge'e iter.

4. CDN ve oynatma yolu

Oynatma origin'den değil, edge'den sunulur. Video parçaları, kullanıcılara fiziksel olarak yakın CDN düğümlerinde önbelleğe alınır (Netflix, ISP'ler içinde kendi Open Connect cihazlarını çalıştırır). İstemci manifesti alır, ardından en yakın sağlıklı edge düğümünden parçaları çeker.

Kontrol düzlemi (katalog, arama, kullanıcı profilleri, 'izlemeye devam et') kendi veritabanları ve önbellekleriyle desteklenen ayrı, durumsuz bir API hizmetleri kümesidir — meta veri ve bir manifest URL'si döndürür ve ağır byte teslimatından tamamen ayrıştırılmıştır.

  • Edge önbelleği (CDN/Open Connect): byte'ların büyük çoğunluğunu sunar; talep oluşmadan önce popüler başlıkları bölgeye göre önceden konumlandırır.
  • Origin depolama: önbellek kaçırmalarını (cache miss) destekleyen nesne deposu.
  • Kontrol düzlemi API'leri: katalog, oynatma yetkilendirmesi, yer imleri — küçük payload'lar, yatay olarak ölçeklendirilmiş, önünde önbellek bulunan.

5. Adaptif bit hızlı akış

Değişken ağlar altında sorunsuz oynatma istemciden gelir, sunucudan değil. Oynatıcı, verimi ve tampon seviyesini izler ve manifestin rendition listesini kullanarak parçalar arasında segment kalitesini yukarı veya aşağı değiştirir — hızlı bağlantılarda daha yüksek bit hızı, yavaş olanlarda arabelleğe almadan kaçınmak için daha düşük.

6. Dile getirilmesi gereken ödünleşimler

Bir mülakat yapanın dinlediği gerilimlerle kapatın: tüm rendition'ları önceden hesaplamanın depolama maliyeti ile anlık kod dönüştürmenin gecikmesi (Netflix önceden hesaplar — depolama, başlangıç gecikmesinden daha ucuzdur); her şeyi önbelleğe almak ile edge'de sadece popüler olanı önbelleğe almak (uzun kuyruklu bir katalog her edge'de tamamen bulunamaz); ve 'izlemeye devam et' gibi kontrol düzlemi verileri için güçlü ile nihai tutarlılık (nihai tutarlılık yeterlidir). Bunları belirtmek, cevabı kıdemli yapan şeydir.

Gerçek zamanlı yardımla Netflix sistem tasarımını pratik yapın

Natively'nin sistem tasarımı mülakat asistanı, canlı bir tur sırasında sizi yapılandırılmış tutabilir — ele alınacak sonraki boyutu önerir ve ödünleşimleri gerçek zamanlı olarak gösterir, hepsi kendi cihazınızda.

Put it on your own machine.

A live-conversation assistant that runs locally. Nothing leaves your machine.

macOS 12+ · Windows 10/11

© 2026 Natively AI Private Limited

Source-available under the Natively Personal Use Source License v1.0 · IP geolocation by DB-IP