MÜLAKAT EZBERLERİYLE CANLIYA ÇIKILMAZ!

Eğitim Tanıtım Videosu

  • Eğitmen: Salih Cantekin
  • Sistem Sayısı: 2/5

Tahtada Değil, Production'da Çalışan Mimariler

Araya Load Balancer koyar, bir de Redis atarız" demek işin kolay kısmı. Peki o çizdiğiniz mimari, Efsane Cuma gecesi saniyede 500.000 request yediğinde ne olacak?

FAANG mülakatlarını ezberlemeyi bırakın. Biletix, Trendyol, Uber gibi sistemlerin arkasındaki gerçek darboğazları (bottlenecks) ve hayat kurtaran mimari kararları (trade-offs) tartışıyoruz

Sınırlı Süre: Kurucu fiyatıyla girin. Sırada bekleyen "Write-Heavy" ve "Global Streaming" konulu dev mimariler yayınlandığında kütüphanenize bedava eklensin

Sistem Gereksinimleri

1. Tasarım

Biletix/TicketMaster

Onbinlerce kişinin aynı anda bilet satın aldığı, yüzbinlerce kişinin etkinlik aradığı sistemleri tasarlarken nelere dikkat edilmeli?
Write your awesome label here.

2. Tasarım

Trendyol - Kara Cuma İndirimleri

Depoda 1.000 adet indirimli iPhone var, kapıda 500.000 kişi bekliyor. Kapasite sınırlarını zorlayan, saniyede yüz binlerce okuma ve yazma işleminin yapıldığı gerçek bir e-ticaret kaosu.
Write your awesome label here.

Ticketmaster (Aynı Koltuğa Tıklayan 50.000 Kişi)

Cuma sabah 10:00. Biletler satışa çıktı ve herkes aynı en ön koltuğu istiyor. Bu yükü doğrudan PostgreSQL'e gönderirseniz sistemin CPU'su saniyeler içinde %100 olur ve sunucu yanıt vermeyi keser.

Ne Konuşuyoruz?

  • Veritabanını koruyan tampon bölge: Virtual Waiting Room (Sanal Bekleme Odası).

  • Race Condition kabusu ve Redis ile Distributed Lock yönetimi.

  • Bilet satış anındaki o kritik "10 dakikalık rezervasyon" mantığı.


Trendyol (Efsane Cuma İzdihamı)

Depoda 1.000 adet indirimli iPhone var ama kapıda 500.000 kişi bekliyor. Kapasite sınırlarını zorlayan, saniyede yüz binlerce okuma (read) ve yazma (write) işleminin yapıldığı gerçek bir mimari hayatta kalma mücadelesi.

Ne Konuşuyoruz?

  • Stok Çakışmaları: SQL'de UPDATE atmak yerine Redis'te Pre-allocated Tokens kullanmak.

  • Dual-Write Problemi: "Para çekildi ama sipariş yok" hatasını Outbox Pattern ile tarihe gömmek.

  • Veritabanını yormadan ana sayfayı ayakta tutmak: CDC, Debezium ve Elasticsearch entegrasyonu.

Empty space, drag to resize

Kimler İçin?

Sadece basit CRUD API'lar yazmaktan sıkıldınız mı? "Bu devasa şirketler Efsane Cuma gecesi arka planda o trafiği çökmeden nasıl kaldırıyor?" diye merak ediyorsanız doğru yerdesiniz.

Eğer kariyerinizde bir adım öne çıkıp Senior seviyesine oynamak, FAANG kalibresindeki şirketlerin mülakatlarını "ezberlemeden" geçmek istiyorsanız bu vizyona ihtiyacınız var.

Ufak bir uyarı: Yazılıma yeni başladıysanız bu eğitim size ağır gelir. Herhangi bir dilde backend tecrübeniz varsa ve artık işin mimari tarafında, darboğazları çözme aşamasında ter dökmeye hazırsanız, içeride çok rahat edeceksiniz.

Hakkında

İnternetteki eğitimlerin çoğu size sadece araçların dokümantasyonunu okur. Herkes Kafka'nın veya Redis'in ne işe yaradığını zaten biliyor. Asıl mesele aracı bilmek değil, kaosu yönetmektir.

Biz burada "Hello World" projeleri yapmıyoruz. 50.000 kişi aynı bilete tıkladığında veritabanı kilitlenmeden o yükü nasıl eritirsiniz? Ödeme alındığı an network koparsa faturayı nasıl kesersiniz?

Belirli bir dilde kod yazıp geçmiyoruz. "Bu sistem bu yük altında neden patlar?" sorusunu sorup; CDC, Outbox Pattern ve Lua Scripting gibi yöntemlerle production'da nasıl hayatta kalacağımızı konuşuyoruz.
Created with