본문 바로가기
카프카

카프카의 특징

by 정재익 2026. 4. 2.

서버간 요청에서 자주 사용 됨

비동기 처리를 할 수 있다.

 

1. 서버 간 요청

HTTP API 기반에서는 받는 서버가 불능 상태일 때 요청이 유실 가능하다

응답 결과를 기다려야 하는 동기적 처리 때문에 성능이 저하됨

 

카프카에 물리적으로 메시지가 저장되므로 요청유실 방지 및 재처리가 가능

처리 결과를 기다리지 않는 비동기적 발행을 통한 성능 향상 가능

 

메시지 버스로 사용하여 여러 서버에서 메시지를 가져가도록 할 수도 있다.

 

2. 로그/이벤트 수집

여러 서버에서 발생하는 로그를 카프카로 모으고 로그 가공 전용서버(로그 스태시 등)를 실행시킨다.

로그스태시는 엘라스틱서치에 정보를 제공 키바나로 관찰한다.

로그 뿐만 아니라 하둡을 이용해서 AI 학습 목적으로 사용할 수 있다.

 

3. 데이터 파이프라인

특정 시스템의 데이터를 모아 다른 시스템에 전달 ETL 목적으로 사용 가능하다.

단순히 DB1과 DB2를 동기화 하기 위해서는 메시지 발행, 수신 서버가 필요하고 각각에 설정을 해줘야하는 번거로움이 있다.

 

이 때 카프카 커넥터를 활용가능하다.

카프카 커넥트는 별도의 메시지 송수신 애플리케이션 없이 카프카와 다양한 외부 시스템을 연결해 주는 전용 서버다

복제 DB의 동기화 또는 RDB -> 엘라스틱 서치, S3, 하둡 전송 등 다양하게 활용 가능하다.

 

4. 실시간 데이터 변환 및 집계

기존의 데이터를 변환해서 새로운 데이터를 재발행한다.

복잡한 예외처리가 필요하다.

 

이 때, 카프카 스트림즈를 사용가능하다. 스트림즈는 라이브러리다.

카프카 스트림즈는 트랜잭션 보장이라는 편의를 제공함 변환 및 집계 과정에서 하나라도 오류가 발생하면 모든 작업이 취소되고 다시 시작하도록 보장한다. 한 메시지당 한 번의 작업을 보장한다고하여 exactly-once라고 한다.

 

'카프카' 카테고리의 다른 글

카프카 프로듀서와 컨슈머  (0) 2026.04.02
카프카 클러스터  (0) 2026.04.02