본문 바로가기
개발/kafka

[kafka] producer message key = 메시지 코디네이트(Message Coordinate)

by ttoance 2025. 1. 4.
반응형

메시지 코디네이트(Message Coordinate)란?

메시지 코디네이트Kafka와 같은 분산 메시징 시스템에서 메시지의 위치와 흐름을 조정 및 관리하는 작업을 의미합니다. 이를 통해 메시지가 올바른 파티션에 분배되고, 처리 순서와 일관성이 유지되며, 효율적인 데이터 처리가 가능해집니다.

 

 

이 예에서는 프로듀서가 데이터를 파티션이 두 개인 토픽으로 전송합니다.

  • 키(key)가 null인 경우:
    • 데이터는 라운드 로빈(round-robin) 방식으로 파티션에 전송됩니다.
    • 이는 부하를 균등하게 분산(load balancing)하기 위한 방법입니다.
    • 여기서 null 키는 프로듀서 메시지에 키가 없는 경우를 나타냅니다.
  • 키(key)가 존재하는 경우:
    • 키가 값을 가지며, 이 값은 다양한 유형일 수 있습니다.
    • Kafka 프로듀서의 중요한 기능 중 하나는, 같은 키를 가진 메시지가 항상 같은 파티션으로 전송된다는 점입니다.
    • 이는 Kafka의 메시지 정렬 유지에서 매우 중요합니다.
      • 같은 키를 가진 메시지들은 특정 필드(예: car ID)에 관련된 메시지 순서를 유지합니다.

자동차 ID 예시

  • 자동차의 위치를 순서대로 추적하는 것이 중요하다면, 자동차 ID를 메시지 키로 사용합니다.
    • 예를 들어, 자동차 ID 123은 항상 파티션 0으로 전송됩니다.
    • 이로 인해 자동차 ID 123에 관한 모든 데이터가 한 파티션에 저장되므로, 순서를 유지하며 데이터를 처리할 수 있습니다.
    • 비슷하게, 자동차 ID 234도 항상 파티션 0으로 전송됩니다.
    • 반면, 다른 자동차 ID들(예: 345, 456)은 항상 파티션 1으로 전송됩니다.

파티션 결정 방법

  • 어떤 키가 어떤 파티션으로 가는지는 해싱(hashing) 기술을 통해 결정됩니다.
  • 해싱 기술은 메시지 키를 기반으로 특정 파티션을 선택합니다.
  • 이는 데이터의 일관성 있는 분배순서 보장을 가능하게 합니다.

 

https://medium.com/apache-kafka-from-zero-to-hero/apache-kafka-guide-3-producers-and-message-keys-a215e5fff75b

 

Apache Kafka Guide #3 Producers and Message Keys

Hi, this is Paul, and welcome to the third part of my Apache Kafka guide. Today we’re gonna talk about how to work Producers and Message…

medium.com

 

반응형