전용 처리량으로 향상된 팬아웃 소비자 개발 - Amazon Kinesis Data Streams

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

전용 처리량으로 향상된 팬아웃 소비자 개발

Amazon Kinesis Data Streams에서는 향상된 팬아웃이라는 기능을 사용하는 소비자를 만들 수 있습니다. 이 기능을 통해 소비자는 샤드당 초당 최대 2MB의 데이터 처리량이 있는 스트림에서 레코드를 수신할 수 있습니다. 이 처리량은 전용이므로, 향상된 팬아웃을 사용하는 소비자는 스트림으로부터 데이터를 수신하는 다른 소비자와 경쟁할 필요가 없습니다. Kinesis Data Streams는 스트림의 데이터 레코드를 향상된 팬아웃을 사용하는 소비자에게 푸시합니다. 따라서 이러한 소비자는 데이터를 폴링할 필요가 없습니다.

중요

스트림당 최대 20명의 소비자를 등록하여 향상된 팬아웃을 사용할 수 있습니다.

다음 다이어그램은 향상된 팬아웃 아키텍처를 보여 줍니다. Amazon Kinesis Client Library(KCL) 버전 2.0 이상을 사용하여 소비자를 빌드하는 경우 는 향상된 팬아웃을 사용하여 스트림의 모든 샤드에서 데이터를 수신하도록 소비자를 KCL 설정합니다. API 를 사용하여 향상된 팬아웃을 사용하는 소비자를 빌드하는 경우 개별 샤드를 구독할 수 있습니다.

샤드 2개와 소비자 2개의 향상된 팬아웃 아키텍처를 보여 주는 워크플로우 다이어그램. 각 소비자는 향상된 팬아웃을 사용하여 스트림의 두 샤드로부터 데이터를 수신합니다.

이 다이어그램은 다음을 보여 줍니다.

  • 두 개의 샤드를 포함하는 스트림.

  • 향상된 팬아웃을 사용하여 소비자 X 스트림과 소비자 Y 스트림으로부터 데이터를 수신하는 소비자 2개. 각 소비자는 스트림의 모든 샤드와 모든 레코드를 구독합니다. 의 버전 2.0 이상을 사용하여 소비자를 KCL 빌드하는 경우 는 해당 소비자를 스트림의 모든 샤드에 KCL 자동으로 구독합니다. 반면 API를 사용하여 소비자를 빌드하는 경우 개별 샤드를 구독할 수 있습니다.

  • 소비자가 스트림으로부터 데이터를 수신하기 위해 사용하는 향상된 팬아웃 파이프를 나타내는 화살표. 향상된 팬아웃 파이프는 다른 파이프 또는 총 소비자 수와 상관없이 샤드당 최대 2MB/sec의 데이터를 제공합니다.

소비자 전반에 걸쳐 공유되는 소비자와 향상된 팬아웃 소비자의 차이점

다음 표에서는 기본 공유 처리량 소비자를 향상된 팬아웃 소비자와 비교합니다. 메시지 전파 지연은 페이로드 디스패칭APIs( 및 등PutRecords)을 사용하여 전송된 페이로드가 페이로드 소비( PutRecord 및 APIs 등)를 통해 소비자 애플리케이션에 도달하는 데 걸리는 밀리초 단위로 정의됩니다GetRecordsSubscribeToShard.

이 표는 공유 처리량 소비자와 향상된 팬아웃 소비자를 비교합니다.
특성 팬아웃이 향상되지 않은 공유 처리량 소비자 향상된 팬아웃 소비자
읽기 처리량

총 2개로 수정되었습니다MB/sec per shard. If there are multiple consumers reading from the same shard, they all share this throughput. The sum of the throughputs they receive from the shard doesn't exceed 2 MB/sec.

소비자가 향상된 팬아웃을 사용하도록 등록될 때 확장됩니다. 향상된 팬아웃을 사용하도록 등록된 각 소비자는 다른 소비자와 독립적으로 샤드당 2MB/sec의 읽기 처리량을 받습니다.

메시지 전파 지연

한 소비자가 스트림에서 읽고 있을 경우 평균 약 200ms입니다. 소비자가 5개면 이 평균이 약 1,000ms로 증가합니다.

소비자가 1개든 또는 5개든 일반적으로 평균 70ms입니다.

비용 해당 사항 없음

데이터 검색 비용과 소비자-샤드 시간 비용이 있습니다. 자세한 내용은 Amazon Kinesis Data Streams 요금을 참조하십시오.

레코드 전송 모델

HTTP 를 사용하여 모델을 끌어옵니다 GetRecords.

Kinesis Data Streams는 를 사용하여 HTTP/2를 통해 레코드를 푸시합니다 SubscribeToShard.