Что такое streaming в Go?

Middle
635 просмотров
AFK Offer AI

Streaming — это обработка данных потоком, без загрузки всего в память. В Go это основано на интерфейсах io.Reader и io.Writer. Вместо "прочитай всё, обработай, запиши всё" ты создаёшь цепочку: читаешь по чанкам, обрабатываешь, пишешь. Например, HTTP response body — это io.Reader, ты можешь стримить его прямо в файл через io.Copy. JSON encoder может писать прямо в http.ResponseWriter. Это позволяет обрабатывать гигабайтные файлы, потребляя килобайты памяти.

Следующий вопрос

Как Docker использует cgroups и namespaces?