Kafka 스트림 애플리케이션 재설정 도구를 실행하여 앱을 특정 타임 스탬프 (예 : Tn)로 재설정하면 상태 저장소는 어떻게됩니까?
문서는 다음과 같습니다. "내부 주제 : 내부 주제 삭제 (커밋 된 오프셋이 자동으로 삭제됨)"(내부 주제는 실행하는 동안 Kafka Streams 애플리케이션에서 내부적으로 사용됩니다 (예 : 상태 저장소에 대한 변경 로그 주제))
이것은 Tn에서와 마찬가지로 상태 저장소 / RocksDB의 상태를 잃는다는 것을 의미합니까?
예를 들어, 해당 타임 스탬프에 상태 저장소에서 "세션 창"을 처리하고 있다고 가정 해 보겠습니다. 응용 프로그램을 재설정하는 동안 해당 창 내의 모든 기존 데이터가 손실되는 것 같습니다.
응용 프로그램을 재설정 할 때 세션 창의 상태를 보존 할 수있는 방법이 있습니까? 즉, 애플리케이션 재설정 중에 상태 저장소 또는 RocksDB (Tn)의 상태를 보존 할 수있는 방법이 있습니까?
나머지 도구 자체는 로컬 상태 저장소를 건드리지 않지만 해당 변경 로그 항목을 삭제합니다. 그래서 네, 당신은 효과적으로 당신의 상태를 잃습니다.
따라서 로컬 상태를 변경 로그와 동기화 상태로 유지하려면 실제로 로컬 상태도 삭제하고 빈 상태로 시작해야합니다. https://docs.confluent.io/current/streams/developer-guide/app- reset-tool.html # step-2-reset-the-local-environments-of-your-application-instances
현재로서는 상태를 특정 지점 ATM으로 재설정 할 수도 없습니다.
유일한 "해결 방법"은 나머지 도구를 사용하지 않고 bin/kafka-consumer-groups.sh
입력 주제 오프셋 만 수정하는 것입니다. 이렇게하면 변경 로그 항목과 로컬 상태 저장소를 보존 할 수 있습니다. 그러나 앱을 다시 시작하면 상태는 물론 마지막 상태가됩니다. 이것이 허용되는지 확실하지 않습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다