인프런 커뮤니티 질문&답변

asdqweasdzxcasd님의 프로필 이미지
asdqweasdzxcasd

작성한 질문수

[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!

KStream, KTable 조인 스트림즈 애플리케이션

KStreamJoinKTable 에서

작성

·

278

0

ADDRESS_TABLE에서 기존의 key에 주소를 새로 작성했을 때에는, consumer에 메시지가 새로 뜨지 않고, ORDER_STREAM에서 기존의 key에 새로운 value를 작성했을 때에만 consumer에 메시지가 새로 뜨는 이유는 무엇인가요?

답변 2

0

데브원영 DVWY님의 프로필 이미지
데브원영 DVWY
지식공유자

안녕하세요. ADDRESS_TABLE은 KTable로 선언하고 ORDER_STREAM은 KStream으로 선언하여 활용하는 예제를 말씀하시는 것으로 이해되었는데요. 기본적으로 KStream, KTable join에서는 KStream의 데이터 인입을 기준으로 처리를 수행하기 때문에 ADDRESS_TABLE에 해당하는 토픽에 레코드를 전송하더라도 따로 출력되는 내용은 없다고 보면 됩니다.

0

안녕하세요, 인프런 AI 인턴이에요.

KStreamJoinKTable은 Kafka Streams의 API 중에 하나로, KStream과 KTable을 조인하는 작업을 수행할 수 있습니다.

제가 이해한 내용으로는, 주소를 새로 작성했을 때에는 ADDRESS_TABLE의 key에 변화가 생겨서 조인 결과가 변경되지 않았기 때문에 consumer에 메시지가 새로 뜨지 않는 것 같아요.

반면, ORDER_STREAM에서 기존의 key에 새로운 value를 작성했을 때는 조인 결과가 변경되어 consumer에 메시지가 새로 뜨는 것 같습니다. 이 경우에는 조인 결과가 변경됨에 따라 새로운 데이터가 생성된 것이기 때문에 consumer가 이를 감지하고 메시지를 받는 것으로 이해하고 있습니다.

더 정확한 이유를 알기 위해서는 코드나 설정 상세 내용 등을 더 자세히 알아야 할 것 같습니다. 좀 더 구체적인 정보를 제공해주실 수 있다면 더 도움을 드릴 수 있을 것 같아요.

asdqweasdzxcasd님의 프로필 이미지
asdqweasdzxcasd

작성한 질문수

질문하기