목차

개요


<aside> 💡 ***복잡하지만 잘 작동하는 시스템은 예외 없이 간단하지만 잘 작동하는 시스템으로부터 발전한다. 이 명제는 역도 참이다. 처음부터 복잡하게 설계된 시스템은 절대 작동할 리도 없고 작동하게 만들지도 못한다.

</aside>

일괄 처리를 이용해 고성능의 대용량 데이터 처리를 제공할 수 있게 되었지만, 실시간성이 떨어진다는 문제가 있는데, 이러한 실시간성을 높히기 위해 스트림 처리라는 기술이 나오게 되었다

스트림은 시간 흐름에 따라 점진적으로 생산된 데이터를 말하는데, 유닉스의 stdin / stdout, 프로그래밍 언어(느긋한 리스트(lazy lists)), 자바의 FileInputStream 같은 파일 시스템 API, TCP 연결, 인터넷 상의 오디오와 비디오 전송 등 많은 곳에서 등장한다.

이번 포스팅에선 이벤트 스트림을 통해 데이터를 관리하는 방법에 대해 살펴본다.

이벤트 스트림 전송


🤔 스트림 처리에선 어떻게 무엇을 입출력할까?

일괄 처리 환경에서는 파일이였다면, 스트림 처리 문맥에서는 특정 시점에 일어난 사건에 대한 세부 사항을 포함하는 이벤트라는 작은 불변 객체를 이용한다.

이벤트는