Lambda의 Apache Kafka 폴링 및 스트림 시작 위치

Lambda의 Apache Kafka 폴링 및 스트림 시작 위치

출처: AWS Lambda 개발자 안내서 StartingPosition 파라미터는 Lambda가 Amazon MSK 또는 자체 관리형(self-managed) Apache Kafka 스트림에서 메시지를 언제부터 읽기 시작할지 지정해요. 선택할 수 있는 옵션은 세 가지예요.

  • Latest – Lambda가 Kafka 토픽의 가장 최근 레코드 바로 다음부터 읽기 시작해요.
  • Trim horizon – Lambda가 Kafka 토픽에서 트리밍되지 않은 마지막 레코드부터 읽기 시작해요. 이는 곧 토픽에서 가장 오래된 레코드이기도 해요.
  • At timestamp – Lambda가 Unix 시간(초)으로 정의된 타임스탬프 기준 위치부터 읽기 시작해요. 타임스탬프를 지정하려면 StartingPositionTimestamp 파라미터를 사용하세요.

이벤트 소스 매핑을 생성하거나 업데이트하는 동안의 스트림 폴링은 최종적으로 일관성(eventually consistent)을 가져요.

  • 이벤트 소스 매핑을 생성하는 동안에는 스트림에서 이벤트를 폴링하기 시작하는 데 몇 분이 걸릴 수 있어요.
  • 이벤트 소스 매핑을 업데이트하는 동안에는 스트림에서 이벤트 폴링을 중지하고 다시 시작하는 데 최대 90초가 걸릴 수 있어요.

이런 동작 때문에 스트림의 시작 위치로 LATEST를 지정하면 이벤트 소스 매핑이 생성·업데이트 중에 이벤트를 놓칠 수 있어요. 이벤트 누락을 방지하려면 TRIM_HORIZON 또는 AT_TIMESTAMP를 지정하세요.

더 알아보기 (Learn more)

이 문서는 AWS Lambda 개발자 안내서의 해당 섹션을 한국어로 정리한 내용이에요. 자세한 내용은 원문 링크를 참고하세요.