본문 바로가기
Kafka

카프카 개념 정리(1) - 카프카와 카프카의 탄생 배경

by devLog by Ronnie's 2022. 12. 19.

카프카에 대한 개념을 정리하는 시간을 가지려 한다. 그 첫번째로 카프카가 무엇인지 간단한 개념과 카프카가 탄생하게 된 배경에 대해서 정리한다. 카프카에 대한 자세한 설명은 (2)에서 정리한다.

 

 

카프카 개념 정리(1) - 카프카와 카프카의 탄생 배경

 

카프카의 탄생 배경


카프카는 소셜 네트워크 서비스인 링크드인에서 처음 출발한 기술이다. 이러한 기술을 고안해낸것은 링크드인의 서비스가 전 세계적으로 인기가 많아짐에 따라 서비스가 점차 커져가는 과정에서 시스템의 구성도가 매우 복잡해지고 있었다.

 

그에 따른 복잡도 증가로 인하여 데이터 파이프라인의 관리가 어려워졌고 데이터의 신뢰도 마저 낮아질 수 있다는 점에서 복잡도와 데이터 파이프라인의 관리를 쉽게 할 수 있도록 만든 것이 카프카였다.

 

아래의 구성도를 두장을 보면 이해가 빠를것이다.

 

https://www.confluent.io/blog/event-streaming-platform-1/

 

https://www.confluent.io/blog/event-streaming-platform-1/

 

해당 이미지는 실제 링크드인에서 카프카를 적용하기 전과 후의 구성도를 보여주는 사진이다. 시스템의 복잡도가 확 낮아진 것을 확인 할 수 있다. 이렇게 만들기 위해서 4가지의 목표를 가지고 만들었다고 한다.

 

 

  1. 프로듀서와 컨슈머의 분리
  2. 메시징 시스템과 같이 영구 메시지 데이터를 여러 컨슈머에게 허용
  3. 높은 처리량을 위한 메시지 최적화
  4. 데이터가 증가함에 따라 스케일 아웃이 가능한 시스템

 

카프카


이렇듯 카프카는 분산 스트리밍 플랫폼이며 데이터 파이프 라인을 만들 때 주로 사용되는 오픈소스 솔루션이다.

 

대용량의 실시간 로그처리에 특화되어 있으며 데이터를 유실없이 안전하게 전달하는 것이 주목적인 메시지 시스템에서 Fault-Tolerant한 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리할 수 있다.

 

 

참고


https://www.confluent.io/blog/event-streaming-platform-1

 

Putting Apache Kafka To Use: A Practical Guide To Building an Event Streaming Platform (Part 1) | Confluent

Putting Apache Kafka To Use: A Practical Guide to Building an Event Streaming Platform.

www.confluent.io

 

댓글