Java 용 Amazon Kinesis Client Library (KCL)를 통해 Java 개발자는 Amazon Kinesis 데이터 스트림에서 쉽게 데이터를 쉽게 소비하고 처리 할 수 있습니다.
Github에서 코드를 다운로드 한 후 Maven을 사용하여 코드를 작성할 수 있습니다. 빌드에서 GPG 서명을 mvn clean install -Dgpg.skip=true 하려면이 명령을 사용하십시오. 참고 :이 명령은 통합 테스트를 실행하지 않습니다.
빌드에서 실행 장치 테스트를 비활성화하려면 속성 -Dskip.ut=true 추가하십시오.
통합 테스트를 실행하면 AWS 리소스가 생성됩니다. 통합 테스트에는 유효한 AWS 자격 증명이 필요합니다. 이것은 로컬 .aws/credentials 에 지정된 기본 AWS 프로파일을 찾습니다. 모든 통합 테스트를 실행하려면 mvn verify -DskipITs=false . 하나의 통합 테스트 mvn -Dit.test="BasicStreamConsumerIntegrationTest" -DskipITs=false verify 실행하려면 통합 테스트 클래스를 지정하십시오. mvn -DskipITs=false -DawsProfile="<PROFILE_NAME>" verify .
Kinesis Producer Library (KPL)를 사용하는 생산자 측 개발자의 경우 KCL은 추가 노력없이 통합됩니다. KCL이 여러 KPL 사용자 레코드로 구성된 집계 된 Amazon Kinesis 레코드를 검색하면 KPL을 자동으로 호출하여 개별 사용자 레코드를 추출하여 사용자에게 반환합니다.
개발자가 다른 언어로 레코드 프로세서를 쉽게 작성할 수 있도록 모든 무거운 리프팅을 수행하는 Multilangdaemon이라는 Java 기반 데몬을 구현했습니다. 우리의 접근 방식에는 데몬 스폰이 하위 프로세스를 스폰하여 레코드 프로세서를 실행하여 모든 언어로 작성할 수 있습니다. Multilangdaemon 프로세스 및 레코드 프로세서 하위 프로세스는 정의 된 프로토콜을 사용하여 Stdin 및 Stdout를 통해 서로 통신합니다. 레코드 프로세서, 아동 프로세스 및 파편간에 일대일 서신이 있습니다. Python 개발자의 경우 구체적으로 이러한 구현 세부 사항을 추상화하고 Python의 레코드 처리 로직 작성에 집중할 수있는 인터페이스를 노출 시켰습니다. 이 접근법을 통해 KCL은 언어 불가지론적일 수 있으며 모든 언어에서 동일한 기능과 유사한 병렬 처리 모델을 제공합니다.
Java에 KCL을 사용하는 것이 권장되는 방법은 Maven에서 소비하는 것입니다.
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >3.0.1</ version >
</ dependency >버전 2.x 추적 브랜치
< dependency >
< groupId >software.amazon.kinesis</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >2.6.0</ version >
</ dependency >버전 1.x 추적 브랜치
< dependency >
< groupId >com.amazonaws</ groupId >
< artifactId >amazon-kinesis-client</ artifactId >
< version >1.14.1</ version >
</ dependency >성능과 지원을 향상시키기 위해 최신 KCL 버전을 사용하는 것이 좋습니다 .
| KCL 버전 | changelog |
|---|---|
| 3.x | 마스터/changelog.md |
| 2.X | v2.x/changelog.md |
| 1.X | v1.x/changelog.md |
1.14.0 버전의 알려진 버그를 피하기 위해 고객이 1.14.1 또는 최신으로 마이그레이션하는 것이 좋습니다.
Amazon Kinesis 클라이언트 버전 2.0 사용자는 버전 2.0.3 이상으로 업그레이드하는 것이 좋습니다. 2.0.3 이전 버전에서 버그가 식별되어 레코드가 잘못된 레코드 프로세서로 전달 될 수 있습니다. **
Kinesis Client Library를 개선하도록 도와줍니다! Kinesis Client Library를 향상시키는 데 귀하의 참여가 중요합니다. 우리는 당신이 우리 커뮤니티에 가입하고 다음과 같은 방법으로 기여하도록 초대합니다.
이 채널을 통해 참여함으로써 Kinesis 클라이언트 라이브러리의 미래를 형성하는 데 중요한 역할을합니다. 우리는 귀하의 의견을 소중히 여기며 귀하와 협력하기를 기대합니다!