Day 1~3에서 본 SQS·SNS·EventBridge는 모두 메시지 단위로 동작한다. 한 메시지가 발생 → 라우팅 → 컨슈머가 받아 처리 → 끝. 메시지의 보존은 길어도 14일이고, 컨슈머가 한 번 처리하면 메시지는 사라지거나(SQS) 다시 볼 수 없다(SNS·EventBridge Archive 제외). 그런데 현대 시스템에서 발생하는 데이터 중 큰 부분은 이 모델로 풀 수 없다.
생각해보자. 한 e-commerce 회사가 사용자 클릭 데이터를 초당 50만 건 생성한다. 이 데이터를 ① 실시간 추천 모델이 즉시 처리하고, ② 사기 탐지 시스템이 또 즉시 처리하고, ③ 분석팀이 30분 단위 윈도우로 집계하고, ④ 데이터 웨어하우스에 적재해 다음 주에 다시 분석한다. 같은 데이터를 4번, 서로 다른 시점에, 서로 다른 속도로 소비해야 한다. SQS는 1회 소비 모델이라 적합하지 않고, SNS fanout으로 4개 큐에 복사하면 작동은 하지만 보존이 14일이라 다음 주 재분석이 어려우며, EventBridge는 처리량 quota(account당 ~10K TPS)에 막힌다.
Kinesis(2013년 11월 출시)는 이 시나리오에 답한다. 본질적으로 큐가 아니라 로그(append-only ordered log) 모델이고, 이 모델은 2011년 LinkedIn의 Jay Kreps가 만든 Apache Kafka에서 처음 검증된 패턴이다