쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon KPL(Kinesis Producer Library)을 사용하여 생산자 개발

포커스 모드
Amazon KPL(Kinesis Producer Library)을 사용하여 생산자 개발 - Amazon Kinesis Data Streams

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Kinesis Data Streams 생산자는 Kinesis 데이터 스트림에 사용자 데이터 레코드를 입력하는(데이터 수집이라고도 함) 애플리케이션입니다. Kinesis 생산자 라이브러리(KPL)는 생산자 애플리케이션 개발을 간소화하여 개발자가 Kinesis 데이터 스트림에 대한 높은 쓰기 처리량을 달성할 수 있도록 합니다.

Amazon CloudWatch로 KPL을 모니터링할 수 있습니다. 자세한 내용은 Amazon CloudWatch를 사용한 Kinesis Producer Library 모니터링 단원을 참조하십시오.

참고

최신 KPL 버전으로 업그레이드하는 것이 좋습니다. KPL은 모두 최신 종속성 및 보안 패치, 버그 수정, 이전 버전과 호환되는 새 기능이 포함된 최신 릴리스로 정기적으로 업데이트됩니다. 자세한 내용은 https://github.com/awslabs/amazon-kinesis-producer/releases/를 참조하세요.

KPL의 역할 검토

KPL은 Kinesis 데이터 스트림에 쓰는 데 도움이 되는 사용이 간편하고 쉽게 구성 가능한 라이브러리입니다. 이 라이브러리는 생산자 애플리케이션 코드와 Kinesis Data Streams API 작업 간에 중간 역할을 합니다. KPL은 다음과 같은 기본 작업을 수행합니다.

  • 자동 및 구성 가능한 재시도 메커니즘을 사용하여 하나 이상의 Kinesis 데이터 스트림에 쓰기

  • 레코드를 수집하고 PutRecords를 사용하여 요청당 여러 샤드에 여러 레코드 쓰기

  • 사용자 레코드를 집계하여 페이로드 크기 증가 및 처리량 향상

  • Kinesis Client Library(KCL)와 자연스럽게 통합하여 소비자에서 배치 처리된 레코드 분해

  • 생산자 성능을 눈으로 확인할 수 있도록 자동으로 Amazon CloudWatch 지표 제출

KPL은 AWS SDK에서 사용할 수 있는 Kinesis Data Streams API와 다릅니다. Kinesis Data Streams API는 Kinesis Data Streams의 여러 가지 측면(스트림 생성, 리샤딩, 데이터 넣기 및 가져오기 포함)을 관리하는 데 도움이 되는 반면, KPL은 특히 데이터 수집을 위한 추상화 계층을 제공합니다. Kinesis Data Streams API에 대한 자세한 내용은 Amazon Kinesis API 참조를 확인하세요.

KPL 사용의 장점 실현

다음 목록은 Kinesis Data Streams 생산자 개발을 위해 KPL을 사용할 때 경험할 수 있는 몇 가지 장점을 보여줍니다.

동기 또는 비동기 사용 사례에서 KPL을 사용할 수 있습니다. 특별히 동기 동작을 사용할 이유가 없다면 고성능 비동기 인터페이스를 사용하는 것이 좋습니다. 두 사용 사례와 예제 코드에 대한 자세한 내용은 KPL을 사용하여 Kinesis 데이터 스트림에 쓰기를 참조하십시오.

성능 이점

KPL은 고성능 생산자를 구축하는 데 도움이 됩니다. Amazon EC2 인스턴스가 수백 또는 수천 개의 저전력 디바이스에서 100바이트 이벤트를 수집하고 Kinesis 데이터 스트림에 레코드를 쓰기 위해 프록시 역할을 한다고 가정해 보세요. 이 EC2 인스턴스는 초당 수천 개의 이벤트를 데이터 스트림에 써야 합니다. 필요한 처리량을 달성하기 위해 생산자는 소비자 측에서 이루어지는 레코드 분해 및 재시도 로직 외에도 일괄 처리나 멀티스레딩과 같은 복잡한 로직을 구현해야 합니다. KPL은 이 모든 작업을 수행합니다.

소비자 측 사용 편의성

Java에서 KCL을 사용하는 소비자 측 개발자의 경우 추가 작업 없이 KPL이 통합됩니다. KCL이 여러 KPL 사용자 레코드로 이루어진 집계된 Kinesis Data Streams 레코드를 검색할 때 KPL을 자동으로 간접적으로 호출하여 개별 사용자 레코드를 추출한 후 사용자에게 반환합니다.

KCL 대신 API 작업 GetRecords를 직접 사용하는 소비자 측 개발자의 경우 KPL Java 라이브러리를 통해 개별 사용자 레코드를 추출한 후 사용자에게 반환할 수 있습니다.

생산자 모니터링

Amazon CloudWatch 및 KPL을 사용하여 Kinesis Data Streams 생산자를 수집하고 모니터링하며 분석할 수 있습니다. KPL은 처리량, 오류 및 기타 지표를 자동으로 CloudWatch에 내보내며 스트림, 샤드 또는 생산자 수준에서 모니터링하도록 구성할 수 있습니다.

비동기 아키텍처

KPL은 레코드를 Kinesis Data Streams로 전송하기 전에 버퍼링할 수 있으므로 발신자 애플리케이션이 실행 시간을 계속하기 전에 레코드가 서버에 도착했다는 확인을 차단하고 기다리도록 하지 않습니다. KPL에 레코드를 넣는 호출은 언제나 즉시 반환되며 전송할 레코드 또는 서버에서 수신할 응답을 기다리지 않습니다. 대신 나중에 Kinesis Data Streams로 레코드를 보낸 결과를 수신하는 Future 객체가 생성됩니다. 이는 AWS SDK의 비동기 클라이언트와 동일한 동작입니다.

KPL을 사용하지 않아야 하는 경우 이해

KPL은 라이브러리 내에 RecordMaxBufferedTime까지 추가 처리 지연을 일으킬 수 있습니다(사용자 구성 가능). RecordMaxBufferedTime 값이 클수록 패킹 효율이 높아지고 성능이 향상됩니다. 이러한 추가 지연을 견딜 수 없는 애플리케이션은 AWS SDK를 직접 사용해야 할 수 있습니다. AWS SDK를 Kinesis Data Streams와 함께 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요와 함께 Amazon Kinesis Data Streams API를 사용하여 생산자 개발 AWS SDK for Java. RecordMaxBufferedTime 및 그 밖에 사용자가 구성할 수 있는 KPL의 속성에 대한 자세한 내용은 Kinesis Producer Library 구성 섹션을 참조하세요.

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.