카프카/Kakfa Topic, Producer, Consumer

Key값을 가지는 메시지의 전송

webmaster 2025. 7. 18. 22:42
728x90

Key 값을 가지지 않는 메시지 전송

  • 메시지는 Producer를 통해 전송시, Partitioner를 통해 토픽의 어떤 파티션으로 전송되어야 할 지 미리 결정된다.
  • Key 값을 가지지 않는 경우 라운드 로빈, 스티키 파티션 등의 파티션 전략등이 선택되어 파티션 별로 메시지가 전송될 수 있음
  • Topic이 여러개의 파티션을 가질 때 메시지의 전송 순서가 보장되지 않은 채로 Consumer에서 읽혀질 수 있음.
    • 파티션 내에서는 전송 순서가 보장된다

Key 값을 가지는 메시지 전송

  • 메시지 key는 업무 로직이나 메시지 Produce / Consume 시, 분산 성능 영향을 고려하여 생성
  • 특정 Key 값을 가지는 메시지는 특정 파티션으로 고정되어 전송된다.
  • 특정 Key 값을 가지는 메시지는 단일 파티션 내에서 전송 순서가 보장되어 Consumer에서 읽혀짐

실습

1) producer 등록

2) Consumer 등록

728x90