Node.js (NestJS / Express) İleri Seviye Asenkron & Çekirdek

Node.js Event Loop & Libuv Çalışma Evreleri

Tek bir iş parçacığının (Single Thread) binlerce isteği hiç tıkanmadan koordine etme sırrıdır.

5 Yaşındaki Çocuğa Anlatır Gibi (Analoji)

Döner kapıdan sürekli geçen insanları yönlendiren tek bir resepsiyon görevlisidir. Pasaport bekleyenleri bekleme odasına (Libuv Threadpool) yollar, hazır olanın evrakını anında teslim eder.

Teknik ve Profesyonel Tanımı

Node.js ana iş parçacığı JavaScript kodunu koştururken, ağır I/O ve kriptografi işlerini Libuv C++ kütüphanesine devreder. Event Loop evreleri: 1. Timers (setTimeout) -> 2. Pending Callbacks -> 3. Idle, Prepare -> 4. Poll (I/O) -> 5. Check (setImmediate) -> 6. Close Callbacks. Process.nextTick ise microtask olarak her evre arasında en öncelikli çalışır.

Mülakatta Ne Demelisin? (Kurtarıcı Altın Cevap)

"Node.js tek iş parçacıklı bir Event Loop modeli üzerine kuruludur. Non-blocking I/O operasyonlarını işletim sistemi kernel'ına veya Libuv iş parçacığı havuzuna devreder. Ağır CPU işlemleri (örneğin döngüde hash hesaplama) Event Loop'u bloke eder ve tüm istekleri dondurur."

Node.js (NestJS / Express) Kod Örneği
// Microtask Önceliği:
setTimeout(() => console.log('1. Timers Evresi'), 0);
setImmediate(() => console.log('2. Check Evresi'));
process.nextTick(() => console.log('0. En Öncelikli Microtask!'));
// Çıktı: 0 -> 1 -> 2
Mülakat Tuzağı & En Çok Yapılan Hata:

CPU-intensive (ağır hesaplama/görüntü işleme) işlerini ana thread'de yapmak. Bu durumlarda Worker Threads veya harici servisler kullanılmalıdır.

İlgili Diğer Konular
Performans & Paralellik
Cluster Module vs Worker Threads

Cluster: Fabrikanın aynısından yan yana 4 tane kurmak. Worke...