데이터 엔지니어링/Kafka
-
[Apache Kafka]구성요소 이해하기(Cluster, Broker, Topic, Partition, Producer, Consumer, Zookeeper)데이터 엔지니어링/Kafka 2022. 7. 14. 21:02
Kafka 기본 아키텍처 Topic이란? Topic은 파티션의 그룹이라고 할 수 있음 Topic은 카프카 데이터 스트림이 어디에 Publish될지 정하는데 쓰임 Topic은 파티션들을 모아두는 곳이라고 이해해도 좋음 Producer는 Topic을 지정하고 Message를 게시 Consumer는 Topic을 지정하고 Message를 개시(POST) Consumer는 토픽으로부터 메시지를 받아옴 카프카의 메시지는 디스크에 정렬되어 저장 되며, 새로운 메시지가 도착하면 지속적으로 로그에 기록 Partition이란? Partition은 요청하는 메세지들의 모임이라고 보면된다. Partition마다 commit log가 따로 쌓인다. 모든 기록들은 Offset이라는 ID를 부여받는다. Immutable(불변) 속..
-
[Apache Kafka]Kafka가 만들어진 이유를 알아보자(개발 이유, 쓰는 이유 등)데이터 엔지니어링/Kafka 2022. 7. 11. 21:33
Kafka가 만들어진 이유를 알기전에 먼저 Real-time Streaming에 대해 알고 넘어가야한다. 위에 그림은 현대의 데이터 인프라 아키텍쳐를 종합해놓은 그림이다. 현대에는 수많은 데이터가 싸이게 되고 이 데이터를 언제, 어떻게 얼마나 빨리 데이터를 처리하고, 가져오고 활용하는지에 대한 생각을 많이 하고 있다. 그리고 데이터의 처리가 바로 신뢰성으로 직결되기 때문에 실시간 처리의 Event Streaming(realtime-streaming)에 대한 수요도 급증하고 있다. Event Streaming이란? Event Streaming이란, 실시간으로 많은 형태의 Event(클릭, 조회, 검색, 메세지 보내기 등등)를 처리하는 것을 말한다. 예전에는 이런 형태의 실시간 처리가 불가능 하였지만, 지금..