- In-memory Data Storage: Redis Stream는 메모리(RAM)에 데이터를 저장하므로 디스크 스토리지를 사용하는 다른 데이터 스트리밍 시스템보다 빠름
- 내장 데이터 처리 기능: Redis Stream에는 필터링, 집계 및 패턴 일치와 같은 여러 데이터 처리 기능이 포함
- 여러 클라이언트 지원: Redis Streams는 여러 클라이언트를 지원하므로 다른 시스템과 쉽게 통합 가능
- 분산 아키텍처: Apache Kafka는 여러 노드에서 실행할 수 있는 분산 시스템으로 가용성이 높고 내결함성이 있음
- 확장성: Apache Kafka는 클러스터에 더 많은 노드를 추가하여 수평으로 확장할 수 있음
- 데이터 보존: Apache Kafka는 구성 가능한 기간 동안 데이터를 보존할 수 있으므로 소비자가 데이터 스트림을 재생할 수 있음
1 . 원산지
2 . 구독 방식
3 . 병렬성
- Redis의 consumer group
- Redis와 Kafka의 consumer group는 다른 개념임을 알아야 한다.
- Redis의 메시지는 모두 다른 소비자에게 제공된다. 그 소비자들을 묶어놓은 것이 consumer group이다.
- 1,2,3,4,5,6,7 메시지 데이터가 스트림에 들어있고, C1, C2, C3 소비자가 있을 때 아래와 같은 처리를 만들기 위해 consumer group을 개념을 도입하였다.
1 -> C1
2 -> C2
3 -> C3
4 -> C1
5 -> C2
6 -> C3
7 -> C1
- consumer group은 소비되지 않은 메시지들을 추적하고 첫 번쨰 ID의 개념을 가지고 있다.
- kafka의 consumer group
- 한 소비자가 장애가 나서 다운되더라도 다른 소비자가 존재하면 장애를 대응할 수 있다.
- 같은 토픽을 구독하고 있더라도 그룹들은 각각 offset를 가지고 있어서 자신이 어디까지 소비하였는지 알 수 있다.
4 . 메시지 보존
5 . 속도
6 . 데이터 양
7 . 범주
8 . 사용 사례
Reference :