카프카에 대한 개념을 정리하는 시간을 가지려 한다. 그 첫번째로 카프카가 무엇인지 간단한 개념과 카프카가 탄생하게 된 배경에 대해서 정리한다. 카프카에 대한 자세한 설명은 (2)에서 정리한다.
카프카 개념 정리(1) - 카프카와 카프카의 탄생 배경
카프카의 탄생 배경
카프카는 소셜 네트워크 서비스인 링크드인에서 처음 출발한 기술이다. 이러한 기술을 고안해낸것은 링크드인의 서비스가 전 세계적으로 인기가 많아짐에 따라 서비스가 점차 커져가는 과정에서 시스템의 구성도가 매우 복잡해지고 있었다.
그에 따른 복잡도 증가로 인하여 데이터 파이프라인의 관리가 어려워졌고 데이터의 신뢰도 마저 낮아질 수 있다는 점에서 복잡도와 데이터 파이프라인의 관리를 쉽게 할 수 있도록 만든 것이 카프카였다.
아래의 구성도를 두장을 보면 이해가 빠를것이다.
해당 이미지는 실제 링크드인에서 카프카를 적용하기 전과 후의 구성도를 보여주는 사진이다. 시스템의 복잡도가 확 낮아진 것을 확인 할 수 있다. 이렇게 만들기 위해서 4가지의 목표를 가지고 만들었다고 한다.
- 프로듀서와 컨슈머의 분리
- 메시징 시스템과 같이 영구 메시지 데이터를 여러 컨슈머에게 허용
- 높은 처리량을 위한 메시지 최적화
- 데이터가 증가함에 따라 스케일 아웃이 가능한 시스템
카프카
이렇듯 카프카는 분산 스트리밍 플랫폼이며 데이터 파이프 라인을 만들 때 주로 사용되는 오픈소스 솔루션이다.
대용량의 실시간 로그처리에 특화되어 있으며 데이터를 유실없이 안전하게 전달하는 것이 주목적인 메시지 시스템에서 Fault-Tolerant한 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리할 수 있다.
참고
https://www.confluent.io/blog/event-streaming-platform-1
'Kafka' 카테고리의 다른 글
카프카 개념 정리(6) - 카프카 컨슈머의 커밋과 오프셋 관리 (0) | 2023.01.08 |
---|---|
카프카 개념 정리(5) - 파티션 할당과 리더와 팔로워 선출 ISR (0) | 2022.12.31 |
카프카 개념 정리(4) - 카프카는 데이터를 어떻게 저장하고 읽어오는가? (0) | 2022.12.28 |
카프카 개념 정리(3) - 카프카 아키텍처 (0) | 2022.12.25 |
카프카 개념 정리(2) - 카프카의 동작 방식 Pub Sub (0) | 2022.12.22 |
댓글