🟢 اگر از Stream استفاده میکنی؟ پس باید Backpressure را هم بشناسی
فرض کنید در Node.js یک فایل بزرگ را میخوانیم و داده را به مقصد دیگری میفرستیم.
اگر Producer سریعتر از Consumer داده تولید کند:
Producer >>> Consumer
داده شروع به جمعشدن در Memory میکند.
اینجاست که مفهوم Backpressure اهمیت پیدا میکند.
در Node.js Streamها مکانیزمهایی دارند که به Producer اجازه میدهند وقتی Consumer عقب افتاده، سرعت تولید را کاهش دهد.
بهجای مدیریت دستی:
read → write → buffer → memory pressure
در بسیاری از سناریوها بهتر است از:
stream.pipeline()
استفاده شود تا جریان داده، Error Handling و Cleanup قابلکنترلتر شوند.
📌 در Stream فقط برای «کمکردن Memory» نیست؛ Flow Control بخش مهمتر ماجراست.
مستندات نودجی اس درباره Stream در کدنایت
کانال آموزشی کدنایت | آموزش برنامه نویس
https://t.me/codenight_ir
Post #95
340
- ❤ 2
- 👍 1