[Java] Kafka 정리

김탁형·2024년 9월 29일
  1. 정의
    (1) 카프카(Kafka) 란?
    실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산형 데이터 스트리밍 플랫폼 이다. 즉 ,API로 데이터를 바로 요청하는 것이 아닌 미들웨어인 카프카를 둬서 프로듀서가 메시지를 생산해서 토픽으로 메시지를 보내고, 컨슈머는 토픽의 메시지를 가져와 사용하는 애플리케이션 부분이다.
    따라서, 연결되어 있는 토픽에 메시지(큐)가 들어오면 컨슈머는 그 메시지를 받을 수 있는 것이다.

(2) 장점

  • 대량의 데이터를 처리 가능하고, 시스템 부하에 따라 확장이 가능하다.
  • 카프카는 실시간 데이터 처리를 위해 설계되었다. 데이터가 전송되는 즉시 프로듀서와 컨슈머가 데이터를 처리할 수 있고, 데이터의 지연 시간이 최소화 되기 때문에 실시간 데이터 스트리밍이 가능하다.
  • 카프카는 메시지를 영속적으로 저장하기때문에 나중에 다시 데이터를 재처리 할 수 있다.

<출처 : 항해99 5기 1조 코딩의신 『이 건』(98년생) 님이 직접 정리한 자료>

profile
김탁형/성남/31

0개의 댓글