Kafka
-
[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 가 어떻게 선출되는지에 대해서 알아보는 시간을 가지려고 합니다. 먼저 카프카의 구성요소들과 그들의 물리적 & 논리적인 관계..
-
[Kafka Streams] Config 알아보기Kafka 2023. 12. 29. 06:31
- 목차 소개. Kafka Streams 를 실행하기 위한 기본적은 설정들에 대해서 알아보도록 하겠습니다. StreamsConfig. APPLICATION_ID_CONFIG. APPLICATION_ID_CONFIG 설정은 Kafka Consumer 의 client ID 와 consumer group 에 관한 설정입니다. Kafka Streams 는 스트림 프로세싱 어플리케이션으로써 Kafka Consumer 이기도 합니다. 그리고 Kafka Consumer 는 반드시 consumer group 이 필요하죠. 그리고 Broker 의 Client 이기 때문에 client ID 또한 필요합니다. APPLICATION_ID_CONFIG 의 값은 client ID prefix 로 사용되며, consumer gro..
-
Kafka Log Segment 알아보기Kafka 2023. 12. 25. 16:23
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/474 Docker 로 Kafka Cluster 구축해보기. - 목차 소개. 저는 로컬 환경에서 카프카 관련 테스트를 진행하는 경우가 많이 생기더군요. 그래서 docker-compose 를 활용하여 Kafka, ZooKeeper 클러스터를 구축하는 내용을 작성하려고 합니다. docker-com westlife0615.tistory.com 소개. Kafka 의 Broker 는 Producer 에 의해서 생성되는 메시지들을 저장하고 관리합니다. 생성되는 메시지는 Log Segment 라는 단위로 묶이게 되는데요. Log Segment 는 카프카 메시지들이 저장되는 단위이자 하나의 파일로 생각하시면 됩니다. 이번 글에서 ..
-
[Kafka] Zookeeper 는 Broker 를 어떻게 관리할까 ?Kafka 2023. 12. 22. 07:49
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/484 Zookeeper Znode 알아보기 - 목차 소개. Zookeeper 는 Znode 라는 데이터 저장기능이 존재합니다. Znode 는 데이터를 저장할 수 있는 논리적인 개념인데요. Hadoop NameNode 의 Namespace 와 같이 가상의 저장 개념입니다. Znode 는 파일시 westlife0615.tistory.com https://westlife0615.tistory.com/485 Zookeeper Watch Mechanism 알아보기 - 목차 소개. Zookeeper 의 Watch Mechanism 은 클라이언트와 주키퍼의 양방향 통신을 가능하게 합니다. 클라이언트는 znode 를 생성/수정/..
-
Kafka Repartition 알아보기.Kafka 2023. 12. 22. 07:49
- 목차 소개. 이번 글에서는 카프카 토픽이 어떻게 repartition 되는지에 대해서 알아보고자 합니다. Repartition 은 토픽의 파티션을 여러 브로커로 분배하는 행위를 의미합니다. 토픽을 생성하게 되면 파티션의 갯수와 Replication-Factor 의 값을 설정합니다. 그리고 생성된 파티션들은 여러 브로커들로 분배되게 됩니다. 만약 브로커가 3개 그리고 토픽의 파티션이 3개라면 각각의 파티션들은 각 브로커에서 관리됩니다. 아래와 같이 말이죠. broker1 - partition1 broker2 - partition2 broker3 - partition3 하지만 브로커가 추가되거나, 제거되는 경우 그리고 파티션이 늘거나 줄어드는 경우에는 파티션의 재분배가 필요해집니다. Kafka Clust..
-
Docker 로 Kafka Cluster 구축해보기.Kafka 2023. 12. 16. 00:39
- 목차 소개. 저는 로컬 환경에서 카프카 관련 테스트를 진행하는 경우가 많이 생기더군요. 그래서 docker-compose 를 활용하여 Kafka, ZooKeeper 클러스터를 구축하는 내용을 작성하려고 합니다. docker-compose.yaml. 아래 명령어는 kafka 클러스터를 실행하기 위한 docker-compose.yaml 파일입니다. cat 명령어를 통해서 /tmp 폴더 하위에 kafka-docker-compose.yaml 파일을 생성합니다. cat 토픽 생성하기. http://localhost:9000/topic/create 주소를 통해서 카프카 토픽을 생성할 수 있습니다. http://localhost:9000/topic/new_topic 주소에서 생성된 토픽의 상세 정보를 확인할 수 ..
-
Kafka Ksql 구현하기Kafka 2023. 12. 11. 06:58
- 목차 소개. Docker 를 활용하여 간단한 KSQL 을 구현해보도록 하겠습니다. KSQL 도커 이미지로 confluentinc/cp-ksqldb-server:7.4.3 를 사용할 예정입니다. https://hub.docker.com/r/confluentinc/cp-ksqldb-server/tags Docker hub.docker.com 1. kafka docker compose yaml 파일을 생성합니다. 먼저 docker-compose 설정을 해보겠습니다. docker-compose 의 구성요소는 아래와 같습니다. - kafka - zookeeper - kafdrop - ksql-server cat
-
Kafka-Connect & MySQL 구현하기Kafka 2023. 12. 9. 07:37
- 목차 소개. kafka-connect 를 활용하여 MySQL Source 또는 Sink 구현해보려고 합니다. 먼저 실습을 위해서 Kafka Cluster 를 구축해보겠습니다. 필요한 Application 들은 아래와 같습니다. - Kafka - Zookeeper - Kafdrop - Kafka-Connect - MySQL 1. kafka-docker-compose.yaml 을 생성합니다. kafka, zookeeper, kafdrop 으로 구성된 Compose yaml 입니다. cat
-
Debezium Plugin 이 포함된 Kafka Connect Docker 이미지 만들기Kafka/kafka Connect 2023. 11. 21. 05:56
들어가며.이 글에서는 Debezium Connector Plugin 이 포함된 Kafka Connect Worker 의 Base Docker Image 를 만드는 내용을 작성합니다.https://debezium.io/documentation/reference/3.0/connectors/mysql.html Debezium connector for MySQL :: Debezium DocumentationMandatory field that describes the source metadata for the event. In a delete event value, the source field structure is the same as for create and update events for the sam..