[Kafka] Kafka에서 key와 value는 뭘까? (Topic이 Key인줄...)

Sihwan Kim·2024년 2월 27일

KoPring

목록 보기
7/10

Kafka에서는 Topic,Key, Value로 메시지를 주고받는다.

❗이때 나는 Topic이 Key로 작용하는줄 알았다.
왜냐하면 Pub을 할때 key와 message를 따로 구분하지 않았기 때문이다.

그래서 출력을 한번 해보았다.

입력한 값은 모두 value로 가고 key는 null이었다.

👍결국 Topic과 Key는 다른 것이다.

그렇다면 Key는 어떻게 지정할까??

바로 Consume하는 입장에서 설정할 수있다.

sb.stream("testTopic", Consumed.with(stringSerde, stringSerde)).run{
	selectKey{key,value->
    value.substring(0,4)
    }
}

value의 앞부분 4글자가 key라고 지정한 예제코드

결과

0개의 댓글