공부/소소한 개발

Kafka Streams

무는빼주세요 2022. 4. 10. 15:37

Kafka Streams : 스트림 프로세싱을 위해 Kafka에서 제공되는 API

 

배치 프로세싱 :

  • 한정된 데이터를 다룰 때 사용
  • 모든 데이터셋을 읽은 후 처리
  • 주기적으로 실행되는 작업
  • 처리속도보다는 처리량에 포커스

스트림 프로세싱 :

  • 배치 프로세싱의 반대 개념
  • 데이터가 무한이라고 가정
  • 데이터가 도착할 때 마다 처리
  • 실시간으로 실행되는 작업
  • 처리량보다 처리속도에 포커스
    • 주식 거래소
    • 웹 서버
    • 센서 데이터 처리
    • EDA
    • 비정상 거래 탐지 등에서 사용

 

카프카 스트림즈의 특징

  • 카프카와 완벽 호환된다
  • 이벤트 처리 기능 Streams DSL, Processor API 제공
  • 체 로컬 상태 저장소를 사용한다.
  • 스케쥴링 도구가 필요없다.
  • 데이터 유실과 중복처리 되지 않고 딱 1번만 처리되는 것을 보장한다.

카프카 스트림즈의 사용 예

 

  • 토픽 내부의 민감 데이터 마스킹
  • 다양한 Source로부터 수집된 메시지 규격화
  • 5분 간격으로 토픽 내부의 특정 이벤트 감지
  • 특정 필드를 이용한 파이프라인 조인 

 

 

 

 

 

참조 : 

https://always-kimkim.tistory.com/entry/kafka101-streams

https://marrrang.tistory.com/63