전체 글
-
[Kubernetes] PodDisruptionBudget 알아보기 (PDB)Kubernetes 2024. 1. 6. 06:38
- 목차 Pod Disruption 이란 ? Pod Disruption 은 Pod 가 종료되는 상황을 의미합니다. 또한 시스템 상에서 Pod 가 종료되는 케이스를 크게 두가지로 나누는데요. Voluntary Disruption, Involuntary Disruption 으로 나눕니다. Voluntary Disruption 는 "자발적인 종료", "의위적인 종료", "의도적인 종료" 와 같이 해석할 수 있을 것 같습니다. 반면 Involuntary Disruption 은 Voluntary Disruption 에 반대되는 의미를 가지며, 시스템, 하드웨어 이슈 등에 의한 Pod 의 종료를 의미합니다. Node 가 실행되는 서버에 문제가 발생하여 Node 가 종료되고, Node 위에서 실행되던 Pod 들은 I..
-
[Kafka-Streams] KStream 알아보기Kafka 2024. 1. 6. 06:38
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/474 Docker 로 Kafka Cluster 구축해보기. - 목차 소개. 저는 로컬 환경에서 카프카 관련 테스트를 진행하는 경우가 많이 생기더군요. 그래서 docker-compose 를 활용하여 Kafka, ZooKeeper 클러스터를 구축하는 내용을 작성하려고 합니다. docker-com westlife0615.tistory.com 소개. 이번 글에서 Kafka Streams 의 KStream 에 대해서 알아보려고 합니다. KStream 은 카프카 스트림 프로세싱 어플리케이션에서 mutation 되는 Stream 의 단위입니다. 그러니깐 끊임없이 이벤트가 유입되는 스트림 환경에서 여러 Transformation..
-
[Kafka] Key Partitioner 알아보기카테고리 없음 2024. 1. 5. 06:12
- 목차 소개. Partitioner 는 Producer 가 생성한 Record 를 어떤 Partition 에 저장할지 결정하는 Producer 의 기능입니다. 보통 하나의 Topic 은 여러개의 Partition 들로 구성되고, Record 들은 골고루 Partition 으로 분배됩니다. 이렇게 Partitioner 는 Record 들을 Topic 의 Partition 으로 분배하는 역할을 수행합니다. 레코드를 분배하는데에 사용되는 정보가 Record 의 Key 입니다. 그리고 Record 는 key, value, timestamp, header 등의 구성요소들로 구성됩니다. 그 중에서 key 에 해당하는 정보를 기반으로 Record 가 저장된 Partition 을 선택합니다. 어떠한 방식으로 Reco..
-
[Kafka] ProducerInterceptors 알아보기Kafka 2024. 1. 5. 06:12
- 목차 소개. ProducerInterceptor 는 Kafka Producer 의 한가지 기능입니다. ProducerInterceptor 의 Fully Qualified Name 은 org.apache.kafka.clients.producer.ProducerInterceptor 이며, org.apache.kafka.clients.producer 패키지에 속합니다. ProducerInterceptor 의 주된 기능은 카프카 메시지가 생성되는 Lifecycle 에서 Callback 을 제공합니다. Callback Function 은 onSend, onAcknowledgement 두가지입니다. onSend 는 메시지가 생성되는 과정에서의 Callback 이구요. onAcknowledgement 는 메시지의..
-
[Kafka] Partition Ownership 알아보기Kafka 2024. 1. 5. 06:12
- 목차 소개. Partition Ownership 은 어떤 Partition 을 소비할 수 있는 Consumer 가 누구인지를 지칭하는 표현입니다. 예를 들어, 아래와 같은 Topic 과 Consumer Group 의 관계가 있다고 생각해보겠습니다. 이때에 Consumer 1 은 Partition 1 의 Ownership 을 가집니다. 그리고 Consumer 2, 3, 4 또한 Partition 2, 3, 4 의 Ownership 을 가집니다. Partition Ownership 의 범위는 Consumer Group 으로 제한합니다. Consumer Group 의 Consumer 마다 Partition Ownership 을 가지며, Partition Ownership 을 가지는 Consumer 가 To..
-
[Kafka] Log Index File 알아보기Kafka 2024. 1. 3. 04:32
- 목차 들어가며.Kafka 는 Log Management 를 위해서 3가지 파일을 사용합니다.첫번째 파일은 Log 파일로써 실질적인 Log Segment 를 저장합니다.Kafka Producer 가 생성하는 레코드들이 파티션 별로 저장되게 됩니다.Log 파일은 .log 로 끝나는 확장자를 가지는 파일입니다.https://westlife0615.tistory.com/514 Kafka Log Segment 알아보기- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/474 Docker 로 Kafka Cluster 구축해보기. - 목차 소개. 저는 로컬 환경에서 카프카 관련 테스트를 진행하는 경우가 많이 생기더군요. 그래서 docker-compwestlife0615.ti..
-
ArgoWorkflow Parallel Nested Dag 구현하기 ( with Kubernetes )Kubernetes 2024. 1. 3. 04:31
- 목차 함께 보면 좋은 자료. https://westlife0615.tistory.com/407 KinD 알아보기. - 목차 소개. KinD 는 "카인드" 라고 발음되며, 로컬 머신에서 쿠버네티스를 간편하게 실행할 수 있는 도구입니다. KinD 는 Kubernetes in Docker 의 약자이구요. Docker 를 활용하여 쿠버네티스 환경을 구성 westlife0615.tistory.com https://westlife0615.tistory.com/516
-
[Vitess] PlannedReparentShard 알아보기 ( PRS , Planned Reparent Shard )Database/Vitess 2024. 1. 2. 04:37
- 목차 들어가며.이번 글에서는 Vitess 의 PlannedReparentShard 에 대해서 알아보도록 하겠습니다.Vitess 는 여러 MySQL Instance 들을 매니징하는 서비스로써하나의 Vitess Cluster 내부에서 여러 MySQL Instance 들이 존재합니다.그리고 Primary - Replica 구조를 통해서 MySQL 의 Replication 을 지원합니다. Primary - Replica 구조에서 Replica 를 새로운 Primary 로 변경하는 작업을 Leader Election, Failover 등으로 표현하곤 하는데요.Vitess 에서는 이러한 작업을 Reparent 라고 합니다.Primary 를 Parent 로 여기고, Replica 들을 Child 로 간주하는 컨셉..
-
[Kafka] listeners, advertised.listeners 알아보기Kafka 2024. 1. 1. 11:23
- 목차 함께 보면 좋은 자료. https://westlife0615.tistory.com/474 Docker 로 Kafka Cluster 구축해보기. - 목차 소개. 저는 로컬 환경에서 카프카 관련 테스트를 진행하는 경우가 많이 생기더군요. 그래서 docker-compose 를 활용하여 Kafka, ZooKeeper 클러스터를 구축하는 내용을 작성하려고 합니다. docker-com westlife0615.tistory.com listeners. Kafka 의 server.properties 설정을 통해서 listeners 를 등록할 수 있습니다. listeners 는 "INTERNAL://:9092,EXTERNAL://:29092,EXTERNAL_SASL://:39092" 와 같이 (Protocol +..
-
[Kafka] Partition Leader Election 알아보기 (파티션 리더 선출)Kafka 2023. 12. 31. 18:00
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/473 Kafka Controller Election 알아보기 ( Controller 는 어떻게 결정될까 ? ) - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/484 Zookeeper Znode 알아보기 - 목차 소개. Zookeeper 는 Znode 라는 데이터 저장기능이 존재합니다. Znode 는 데이터를 저장할 수 있는 논리적인 개념인 westlife0615.tistory.com 소개. 이번 글에서 카프카 클러스터에서 Partition Leader 가 어떻게 선출되는지에 대해서 알아보는 시간을 가지려고 합니다. 먼저 카프카의 구성요소들과 그들의 물리적 & 논리적인 관계..