일반적으로 kafka message queue를 활용하면
아래와 같이 하나의 topic을 두고 message를 produce 하고 consume 한다.
출처 : https://velog.io/@holicme7/Apache-Kafka-%EC%B9%B4%ED%94%84%EC%B9%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80
위와 같은 경우 이외에 filtering이나 추가 로직을 중간에 두어
여러 topic을 사용하며 체이닝 하는 형식으로 kafka를 활용하기도 한다.
출처 : https://findmypiece.tistory.com/342
이러한 경우에 여러 producer, consumer를 생성해서 사용하는 것보다는 kafka stream을 활용할 수 있을것 같다
Kafka Stream
Kafka Streams는 카프카에 저장된 데이터를 처리하고 분석하기 위해 개발된 자바 라이브러리
장점
- 카프카와 완벽한 호환
- Exactly-once 처리 보장
- 스케쥴링 도구가 별도로 필요 없음
- 자체 로컬 상태 저장소 사용
- 상태 기반 처리를 도와주기 위해 rocksDB를 로컬에서 사용하여 상태를 저장
출처 : https://findmypiece.tistory.com/342