pipe 썸네일형 리스트형 [Golang] io.Pipe 대용량 데이터를 처리할 때 slice나 구조체를 적절히 잘 사용하는 것도 좋지만,Go언어에서 제공하는 표준 라이브러라 "io.Pipe"를 사용한다면 "OOM"을 방지하는데 도움이 됩니다.1. io.Pipe왜 사용 하는가?보통 slice, buffer으로 데이터를 적재하고 이동시키는 방법은 데이터의 크기 만큼 RAM을 점유하기 때문에,OOM에 취약합니다.대신 io.Pipe는 데이터를 쌓아두지 않고, 생성된 데이터는 즉시 바로 목적지에 전달하는 실시간 통로를 제공합니다.데이터가 아무리 크더라도 전송 되는 동안에는, 설정된 버퍼만큼만 유지되며 속도도 빠릅니다.동작원리io.Pipe는 메모리 내부에서 Reader와 Writer가 연결된 동시식 통로를 만듭니다.Writer에서 데이터를 파이프로 넣으려고 하더라도,.. 더보기 이전 1 다음