이벤트 브로커에서 발생하는 이벤트 스트림이 있습니다 ("메시지"또는 "데이터"라고도 부를 수 있음). 이벤트 브로커는 Kafka 또는 Amazon Kinesis 또는 Microsoft Event Hubs 일 수 있지만, 카프카라고 가정 해 보겠습니다.이벤트 스트림을 저온 저장 장치에 보관하려면 어떻게해야합니까?
내 목표는이 이벤트 스트림을 받아 콜드 스토리지; 즉, Hadoop/Spark를 통해 향후 분석을 위해 데이터를 저장하는 것입니다. 즉,이 "수다스러운"이벤트 스트림을 HDFS의 "chunky"파일로 변환하고 싶습니다. 클라우드 환경에서는 HDFS 대신 S3 또는 Azure Storage를 사용합니다.
나는 또한 내 솔루션이 비용 효율적이라고 생각하고 싶습니다. 예를 들어 디스크 공간 비용을 줄이기 위해 Avro/ORC와 같은 직렬화 형식을 사용합니다. 나는 또한 주어진 이벤트가 냉장 보관에 지나치지 않는 한 번만의 보증인 (once-on-once-once)에 대한 보너스 포인트와 같다.
내 핵심 질문은 어떻게 사람들이이 문제를 해결하는
- ?
- 이미이 시나리오를 처리하는 구성 요소가 있습니까?
- 솔루션을 직접 개발해야합니까?
- 적어도 권장 패턴은 무엇입니까?