KPL과 생산자 코드의 통합 - Amazon Kinesis Data Streams

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

KPL과 생산자 코드의 통합

Kinesis Producer Library(KPL)는 별도의 프로세스로 실행되며 IPC를 사용하여 상위 사용자 프로세스와 통신합니다. 이 아키텍처를 마이크로서비스라고도 하며 다음의 두 가지 주된 이유로 선택합니다.

1) KPL이 충돌해도 사용자 프로세스가 충돌하지 않음

프로세스가 Kinesis Data Streams와 관련되지 않은 작업을 포함할 수 있으며, KPL이 충돌해도 작업을 계속할 수 있습니다. 상위 사용자 프로세스에서 KPL을 다시 시작하고 완전 작동 상태로 복구할 수 있습니다(이 기능은 공식 래퍼에 있음).

예를 들어, Kinesis Data Streams에 지표를 전송하는 웹 서버가 있습니다. Kinesis Data Streams 부분이 작동을 중지해도 서버가 계속 페이지를 제공할 수 있습니다. KPL에 버그가 있어 전체 서버가 충돌하면 불필요한 중단이 발생합니다.

2) 임의의 클라이언트 지원 가능

공식적으로 지원되는 언어 외에 다른 언어를 사용하는 고객이 항상 있습니다. 이런 고객도 KPL을 쉽게 사용할 수 있어야 합니다.

권장 사용량 매트릭스

다음 사용량 매트릭스에서는 여러 사용자에게 권장되는 설정을 열거하고 KPL 사용 여부와 방법을 조언합니다. 집계가 활성화된 경우 소비자 측에서 레코드를 추출하려면 분해를 사용해야 합니다.

생산자 측 언어 소비자 측 언어 KCL 버전 체크포인트 로직 KPL 사용 가능 여부 경고
자바 외에 모든 언어 * * * 아니요 N/A
Java Java Java SDK 직접 사용 N/A 집계가 사용되는 경우 GetRecords 호출 후에 제공된 분해 라이브러리를 사용해야 합니다.
Java 자바 외에 모든 언어 SDK 직접 사용 N/A 집계를 비활성화 해야 함
Java Java 1.3.x N/A 집계를 비활성화 해야 함
Java Java 1.4.x 인수 없이 체크포인트 호출 None
Java Java 1.4.x 명시적 시퀀스 번호로 체크포인트 호출 집계를 비활성화하거나 확장된 시퀀스 번호를 검사에 사용하도록 코드 변경.
Java 자바 외에 모든 언어 1.3.x + 다국어 데몬 + 언어별 래퍼 N/A 집계를 비활성화 해야 함