DevOps

[Kafka] Kafka란?

혬수 2024. 8. 19. 22:06

📌 Kafka란?

pub-sub 모델의 메시지큐 방식 기반, 분산 메시징 시스템

producer는 topic에 이벤트를 게시하고, consumer는 topic을 구독해 이로부터 이벤트를 가져와 처리

  • Controller
    • 클러스터 관리: 컨트롤러는 클러스터의 메타데이터를 관리하고, 파티션과 리플리카의 상태를 모니터링
    • 리더 선출: 컨트롤러는 파티션의 리더 브로커를 선출
    • 파티션 재할당: 필요에 따라 파티션을 다른 브로커로 재할당
  • Broker
      • Kafka 클러스터 broker 서버들에 총 몇개 topic 있을건지? → 안정성
      • ISR (In Sync Replication)
    • partitions
      • 개별 broker 당 몇개의 통로 ? → 병렬처리

 

 

📌 이미지

https://hub.docker.com/r/apache/kafka

 

📌 Kafka Connector

Debezium

https://debezium.io/documentation/reference/stable/connectors/mariadb.html

https://code-run.tistory.com/39

Change Data Capture(CDC) 도구

데이터베이스의 변화를 실시간으로 감지하여 Kafka와 같은 다른 시스템으로 스트리밍하는 역할

 

 

참고

https://kafka.apache.org/

https://gruuuuu.github.io/integration/kafka-concept/

https://always-kimkim.tistory.com/entry/kafka101-message-topic-partition

https://velog.io/@holicme7/Apache-Kafka-카프카란-무엇인가