서버간 요청에서 자주 사용 됨
비동기 처리를 할 수 있다.
1. 서버 간 요청
HTTP API 기반에서는 받는 서버가 불능 상태일 때 요청이 유실 가능하다
응답 결과를 기다려야 하는 동기적 처리 때문에 성능이 저하됨
카프카에 물리적으로 메시지가 저장되므로 요청유실 방지 및 재처리가 가능
처리 결과를 기다리지 않는 비동기적 발행을 통한 성능 향상 가능
메시지 버스로 사용하여 여러 서버에서 메시지를 가져가도록 할 수도 있다.
2. 로그/이벤트 수집
여러 서버에서 발생하는 로그를 카프카로 모으고 로그 가공 전용서버(로그 스태시 등)를 실행시킨다.
로그스태시는 엘라스틱서치에 정보를 제공 키바나로 관찰한다.
로그 뿐만 아니라 하둡을 이용해서 AI 학습 목적으로 사용할 수 있다.
3. 데이터 파이프라인
특정 시스템의 데이터를 모아 다른 시스템에 전달 ETL 목적으로 사용 가능하다.
단순히 DB1과 DB2를 동기화 하기 위해서는 메시지 발행, 수신 서버가 필요하고 각각에 설정을 해줘야하는 번거로움이 있다.
이 때 카프카 커넥터를 활용가능하다.
카프카 커넥트는 별도의 메시지 송수신 애플리케이션 없이 카프카와 다양한 외부 시스템을 연결해 주는 전용 서버다
복제 DB의 동기화 또는 RDB -> 엘라스틱 서치, S3, 하둡 전송 등 다양하게 활용 가능하다.
4. 실시간 데이터 변환 및 집계
기존의 데이터를 변환해서 새로운 데이터를 재발행한다.
복잡한 예외처리가 필요하다.
이 때, 카프카 스트림즈를 사용가능하다. 스트림즈는 라이브러리다.
카프카 스트림즈는 트랜잭션 보장이라는 편의를 제공함 변환 및 집계 과정에서 하나라도 오류가 발생하면 모든 작업이 취소되고 다시 시작하도록 보장한다. 한 메시지당 한 번의 작업을 보장한다고하여 exactly-once라고 한다.
'카프카' 카테고리의 다른 글
| 카프카 프로듀서와 컨슈머 (0) | 2026.04.02 |
|---|---|
| 카프카 클러스터 (0) | 2026.04.02 |