본문 바로가기

MessageSystem8

[Kafka] 카프카(kafka) 프로듀서(Producer)의 파티셔너 (Partitionor), 배치(Batch) 그리고 메시지 전송 방식 카프카(kafka)에서 프로듀서(Producer)의 기본 역할은 메시지들을 Kafka Topic으로 전송하는 것입니다. 메시지 전송 방식에는 적어도 한번 전송(at-least-once), 최대 한 번 전송(at-most-once), 정확히 한번 전송(exactly-once)이 있으며 전송방식들의 차이들을 확인해 보도록 하겠습니다. Producer가 전송하려는 메시지들은 Producer의 send() 메서드를 통해 시리얼라이저, 파티셔너를 거쳐 kafka로 전송됩니다. 마지막에 실습이 있는데 실습 환경을 미구성하셨다면 이전 포스팅을 참조해 주시면 감사합니다. https://colevelup.tistory.com/17 [Kafka] kafka cluster 실습 환경 구축 kafka 관련 포스팅을 하기 이전.. 2023. 2. 4.
[Kafka] Kafka와 zero-copy 이전 카프카 도입 사례에서 Twitter가 내부에서 활용하는 In-House-Event-Bus에서 kafka로 전환하계 되는 이유들 중 하나가 kafka가 zero-copy를 제공한다라는 말이 있었습니다. zero-copy에 대해서 자세하게 알아보도록 하겠습니다. https://colevelup.tistory.com/16 [Kafka] Kafka 도입 사례로 보는 Kafka 사용의 당위성과 이점 사내에서 실전 카프카 개발부터 운영까지 라는 책을 선정하여 스터디를 진행하고 있습니다. 책 첫 장에서 카프카 적용 사례(kafka use case)로 트위터와 잘란도 등을 통해서 Apache 카프카를 쓰는 이 colevelup.tistory.com Twitter의 In-House-Event-Bus 이전 Twtit.. 2023. 1. 30.
[Kafka] Leader Epoch(리더 에포크)을 활용한 카프카 브로커(kafka broker) 복구 카프카(kafka)가 리더 에포크(Leader Epoch)를 활용하여 카프카 브로커(kafka broker)를 복구 하는 과정에 대한 정리와, 실습 환경 내에서 브로커 복구 진행 과정을 살펴보는 것을 포스팅해보도록 하겠습니다. 실전 카프카 개발부터 운영까지 도서에 정보를 추가하고 자체적인 실습환경 내에서 진행 했습니다. 실습 환경에대해서는 아래 환경 구축을 참조해 주시면 감사합니다. https://colevelup.tistory.com/17 [Kafka] kafka cluster 실습 환경 구축 서론 kafka 관련 포스팅을 하기 이전 실습 환경에 대해서 먼저 구성해 보도록 하겠습니다. container 환경에서 실습환경은 진행됩니다. 가상화 기술과 Docker, 대량의 Container를 효율적으로 띄.. 2023. 1. 28.
[Kafka] Replication(리플리케이션)과 Leader(리더)와 Follower(팔로워)를 알아보자 카프카(Kafka)를 안정적이게 사용할 수 있도록 가용성 측면에서 활용되는 리플리케이션(Replication)과 리플리케이션(Replication)들중 리더(Leader)와 팔로워(Follower)에 대해서, ISR(InSyncReplica), 동작 방식에 대해서 알아보도록 하겠습니다. 리플리케이션(Replication) 데이터 파이프라인에 메인 허브 역할을 하는 카프카 클러스터가 정상적으로 동작하지 못한다거나 연결된 데이터 파이프라인에 영향을 미친다면 심각한 문제가 생길 수 있기 때문에 안정적인 서비스를 제공하기 위해 리플리케이션이라는 동작을 하도록 구상됐습니다. 리플리케이션이란 메시지들을 여러 개로 복제해서 카프카 클러스터 내 브로커들에 분산시키는 동작입니다. 카프카의 replication 동작을 위.. 2023. 1. 25.
[Kafka] Topic, Partition, Segment, Segment 관리, Offset 카프카(kafka)에서 다뤄지는 주요 개념들인 토픽(Topic), 파티션(partition), 세그먼트(Segment), 오프셋(Offset)에대해서 그리고 세그먼트(segment)의 경우 관리하는 법 까지 알아보도록 하겠습니다. 토픽(Topic) Topic Event는 무엇인가 발생한 사실에 대한 record이며 record 또는 message라고 공식 document에서는 말합니다. Events are organized and durably stored in topics. Very simplified, a topic is similar to a folder in a filesystem, and the events are the files in that folder. 이 Event가 구조화되어 topi.. 2023. 1. 21.
[Kafka] kafka cluster 실습 환경 구축 kafka 관련 포스팅을 하기 이전 kafka cluster(카프카 클러스터) 를 구축 하여에 실습환경을 구성해보도록 하겠습니다. 컨테이너(container) 환경에서 실습환경은 진행됩니다. 가상화 기술과 Docker, 대량의 Container를 효율적으로 띄우고 관리하기 위해 나온 Docker Compose, Container 오케스트레이션을 위한 Kubernates등에 대해서는 추후 자세히 포스팅하겠습니다. kafka cluster(카프카 클러스터) 구축 container 환경에서 1~3대의 zookeeper 와 1~3대의 kafka를 만들어 실습환경을 구성해 보도록 하겠습니다. Docker-Desktop설치 후 container를 여러 대 띄우는데 활용하기 유용한 docker-compose를 활용하.. 2023. 1. 21.