Node.js
Özet - Stream iç yapıları
backpressure, highWaterMark ve pipeline'ı birleştirerek bir custom stream yazarsın.
Özet - Stream iç yapıları
Bu grupta stream'lerin iç yapılarını gördük: backpressure, highWaterMark, object mode, pipeline ve custom stream. Her biri Node.js'in veri akış mantığını şekillendirir.
Backpressure kuyruk eşiği geçilince üreticiyi duraklatır. highWaterMark buffer'ın üst sınırıdır; 'flowing' ve 'paused' durumlarını belirler. Object mode her parçayı nesne taşır; binary ise Buffer. stream.pipeline src, transform ve sink zincirini hata güvenliğiyle kurar. Custom stream, _read ve _write metodlarıyla özelleştirilmiş akıştır. Son derste tümünü bir rapor fonksiyonunda birleştireceğiz.
Rapor fonksiyonu
Son görev tüm stream kavramlarını tek bir raporda birleştirir. streamReport() fonksiyonu dört bilgi dizesini ' | ' ile ayırarak döndürür. Çıktı: backpressure: true | highWaterMark: 16 | object mode | pipeline: src -> sink.
Bu rapor, stream'lerin dört temel kavramını tek dizede özetler: geri basınç kararı (true), eşik (16), kip (object mode) ve zincir (src -> sink). Fonksiyon içinde her parçayı bir değişkene koyar, sonra + ile birleştirirsin. Bu, öğrendiklerini konsolda görmeni sağlar; gerçek stream'leri çalıştırmadan iç yapılarını modellemiş olursun.
Uygulama Stream raporu yaz
function streamReport() yaz. const bp = 'backpressure: true', const hwm = 'highWaterMark: 16', const mode = 'object mode' ve const pipe = 'pipeline: src -> sink' tanımla. return bp + ' | ' + hwm + ' | ' + mode + ' | ' + pipe ile döndür. console.log(streamReport()) ile yazdır.
Örnek çözümü göster
function streamReport() {
const bp = 'backpressure: true';
const hwm = 'highWaterMark: 16';
const mode = 'object mode';
const pipe = 'pipeline: src -> sink';
return bp + ' | ' + hwm + ' | ' + mode + ' | ' + pipe;
}
console.log(streamReport());
Kendini test et
-
Hangisi backpressure'u tetikler?
- queueSize >= highWaterMark
- queueSize < highWaterMark
- currentSize === 0
- mode === 'object'
Cevabı göster
queueSize >= highWaterMark — queueSize >= highWaterMark backpressure'ı tetikler.
-
Kavramı rolüne eşle
- backpressure
- Üreticiyi duraklatır
- highWaterMark
- Buffer üst sınırı
- object mode
- Nesne taşır
- pipeline
- Zincir kurar
Sıradaki ders: CAP theorem