A stream is a source or a destination of data that is processed piece by piece. Node.js has four kinds: Readable, Writable, Duplex and Transform. Streams are connected with pipeline, and a slow consumer is protected by backpressure.