카프카
- 분산 스트리밍 플랫폼
- 메시지를 생성하는 프로듀셔와 소비하는 컨슈머로 구성
- 장애에 강건한 메시징 클러스터

카프카 컴포넌트
- Producer API : 카프카로 메시지를 생산하기 위한 API
- Consumer API : 카프카의 메시지를 소비하기 위한 API
- Stream API : 카프카 메시지의 스트림 처리를 위한 API (변환/가공처리)
- Connector API : 카프카와 다양한 시스템(DB, File, etc)을 통합하기 위한 API
카프카 특징
- 디스크에 메시지를 저장
- 일반적인 메시징 시스템은 컨슈머가 메시지를 읽어가면 큐에서 바로 메시지를 제거하지만, 카프카는 메시지를 읽어가더라도 설정된 보관 주기 동안 디스크에 메시지를 저장함
- 따라서 컨슈머에 문제가 발생하더라도 보관기간 동안 디스크에 보관되기 때문에 추후 재처리를 할 수 있음
- 확장성: 카프카 중단 없이 클러스터를 확장 할 수 있음
- 높은 성능: 내부적으로 분산처리, 배치처리 등을 사용하여 높은 성능을 가지고 있음