ਬੈਕਪ੍ਰੈਸ਼ਰ ਉਹ ਹਾਲ ਹੈ ਜਦੋਂ ਡੇਟਾ ਜਿਵੇਂ ਖਪਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ ਉਸ ਤੋਂ ਤੇਜ਼ ਰਫ਼ਤਾਰ ਨਾਲ ਪੈਦਾ ਹੁੰਦਾ ਹੈ। ਸਟ੍ਰੀਮ ਵਿੱਚ, ਜੇ ਤੇਜ਼ readable ਸਰੋਤ ਹਲਕੇ writable ਮੰਜ਼ਿਲ ਵਿੱਚ ਡੇਟਾ ਭੇਜਦਾ ਹੈ, ਤਾਂ ਬਿਨਾਂ ਖਪਤ ਵਾਲਾ ਡੇਟਾ ਮੈਮੋਰੀ ਵਿੱਚ ਬਫ਼ਰ ਹੋ ਜਾਂਦਾ ਹੈ — ਅਤੇ ਬਿਨਾਂ ਸੰਭਾਲ ਦੇ, ਉਹ ਬਫ਼ਰ ਉਦੋਂ ਤੱਕ ਵਧਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਮੈਮੋਰੀ ਖਤਮ ਨਹੀਂ ਹੋ ਜਾਂਦੀ। ਬੈਕਪ੍ਰੈਸ਼ਰ ਉਹ ਵਿਧੀ (ਅਤੇ ਅਨੁਸ਼ਾਸਨ) ਹੈ ਜੋ producer ਅਤੇ consumer ਨੂੰ ਸੰਤੁਲਿਤ ਰੱਖਦੀ ਹੈ।
ਸਮੱਸਿਆ
Fast source ──(1 GB/s)──▶ Slow destination (10 MB/s write speed)
▲
The 990 MB/s difference piles up in a memory buffer → OOM crash
ਉਦਾਹਰਨ: ਇੱਕ ਵੱਡੀ ਫਾਈਲ ਨੂੰ ਤੇਜ਼ ਰਫ਼ਤਾਰ ਨਾਲ ਪੜ੍ਹਨਾ ਅਤੇ ਇਸ ਨੂੰ ਹਲਕੇ ਨੈੱਟਵਰਕ socket ਜਾਂ ਡਿਸਕ ਵਿੱਚ ਲਿਖਣਾ — ਜੇ ਤੁਸੀਂ ਮੰਜ਼ਿਲ ਦੀ ਰਫ਼ਤਾਰ ਦਾ ਸਨਮਾਨ ਨਹੀਂ ਕਰਦੇ, ਤਾਂ ਮੈਮੋਰੀ ਵਿੱਚ ਵਾਧਾ ਹੋ ਜਾਂਦਾ ਹੈ।
