작성
·
294
0
안녕하세요, 강의 잘 듣고 있습니다.
저는 주로 시계열 데이터를 다루고 있는데요, 시계열 중에서도 데이터의 순서가 중요한 데이터입니다.
kafka를 사용할 경우 내부 로직은 추상화 되어있고, 데이터의 전달과 1번 전달보장할 수 있으나( dempotency 설정등) 데이터의 전달 순서는 보장하지 않는 것으로 생각됩니다 (질문1) kafka는 기본적으로 데이터 전달에서 순서를 보장하지 않는 것이 맞는지 확인 부탁드립니다.
스트림즈 애플리 케이션 에서는 강의 내용을 들어보니, 순서가 보장이 되는 것으로 보입니다. 예컨대 KStreams, KTable 조인 스트림즈 애플리케이션
강의자료에서 Ktable의 값이 업데이트 될 경우의 예시를 들어주셨는데요, 만약 KStreams, KTable 양쪽 모두 값 변경이 잦고, 이 순서가 중요할 경우에도 동작을 해야할 것으로 보입니다. (질문2) Time sereis 데이터를 kafka를 활용하여 전달할 경우, 변경이 잦고 순서가 중요한 경우에도 스트림즈 애플리케이션을 사용할 수 있을지 궁금합니다.
2번 질문의 경우, 제가 전부를 이해하지 못했으나 다음의 블로그의 내용을 참조했습니다.
답변 1
1
안녕하세요 Marcus Lee님,
질문1) kafka는 기본적으로 데이터 전달에서 순서를 보장하지 않는 것이 맞는지 확인 부탁드립니다.
카프카는 파티션 단위로 순서를 보장합니다.
질문2) Time sereis 데이터를 kafka를 활용하여 전달할 경우, 변경이 잦고 순서가 중요한 경우에도 스트림즈 애플리케이션을 사용할 수 있을지 궁금합니다.
순서가 중요한 경우 대부분 텀블링, 슬라이딩, 세션 윈도우를 사용하여 연산하는 것이 일반적인데요. 그러한 경우 스트림즈를 활용하면 기대하신 결과를 얻으실 수 있을것 같네요.