Amazon Kinesis Data Streams 術語和概念


Kinesis Data Streams 高級別架構

下圖演示 Kinesis Data Streams 的高級別架構。創建器會持續將數據推送到 Kinesis Data Streams,並且使用者 可實時處理數據。使用者(如在 Amazon EC2 上運行的自定義應用程序或 Amazon Kinesis Data Firehose 傳輸流)可以使用 Amazon DynamoDB、Amazon Redshift 或 Amazon S3 等 AWS 服務存儲其結果。


                Kinesis Data Streams 高級別架構圖

Kinesis Data Streams 術語

Kinesis Data Stream

Kinesis data stream 是一組分片。每個分片都有一系列數據記錄。每個數據記錄都具有一個由 Kinesis Data Streams 分配的序列號

數據記錄

數據記錄 是存儲在 Kinesis data stream中的數據單位。數據記錄由序列號分區鍵和數據 Blob 組成,后者是不可變的字節序列。Kinesis Data Streams 不以任何方式檢查、解釋或更改 Blob 中的數據。數據 Blob 可以是 最多 1 MB。

保留周期

保留期 是數據記錄在添加到流中后可供訪問的時間長度。在創建之后,流的保留期設置為默認值 24 小時。您可以使用 IncreaseStreamRetentionPeriod 操作將保留期增加到最高 168 小時(7 天),使用 DecreaseStreamRetentionPeriod 操作可將保留期減少到最短 24 小時。對於保留期設置為 24 小時以上的流,將收取額外費用。有關更多信息,請參閱Amazon Kinesis Data Streams 定價

創建者

創建器將記錄放入 Amazon Kinesis Data Streams 中。例如,發送日志數據到流的 Web 服務器是創建器。

使用者

使用者 從 Amazon Kinesis Data Streams 獲取記錄並進行處理。這些使用者稱為 Amazon Kinesis Data Streams Application

Amazon Kinesis Data Streams Application

Amazon Kinesis Data Streams application 是通常在 EC2 實例隊列上運行的流的使用者。

可以開發的使用者有兩種:共享扇出功能使用者和增強型扇出功能使用者。要了解它們之間的區別,以及了解如何創建每種使用者,請參閱讀取 Amazon Kinesis Data Streams 中的數據

Kinesis Data Streams 應用程序的輸出可能是另一個流的輸入,這使您能夠創建實時處理數據的復雜拓撲。應用程序也可將數據發送到各種其他 AWS 服務。一個流可以有多個應用程序,每個應用程序可同時單獨使用流中的數據。

分區

分片 是流中數據記錄的唯一標識序列。一個流由一個或多個分片組成,每個分片提供一個固定的容量單位。每個分片均可支持 最多 每秒 5 次交易 可用於讀取,最多可達的最大總數據讀取速率為 每秒 2 MB 和 最多 每秒 1000 條記錄 可用於寫入,最多可達的最大總數據寫入速率為 每秒 1 MB (包括分區鍵)。流的數據容量是您為流指定的分片數的函數。流的總容量是其分片容量的總和。

如果數據速率增加,您可以增加或減少分配給流的分片數量。

分區鍵

分區鍵 用於按分片對流中的數據進行分組。Kinesis Data Streams 將屬於一個流的數據記錄隔離到多個分片中。它使用與每個數據記錄關聯的分區鍵確定指定數據記錄屬於哪個分片。分區鍵是最大長度限制為 256 個字節的 Unicode 字符串。MD5 哈希函數用於將分區鍵映射到 128 位整數值並將關聯的數據記錄映射到分片。當應用程序將數據放入流中時,它必須指定一個分區鍵。

序列號

每個數據記錄都有一個序列號,此序列號對於其分片中的每個密鑰是唯一的。在您使用 client.putRecords 或 client.putRecord 寫入流之后,Kinesis Data Streams 將分配序列號。同一分區鍵的序列號通常會隨時間推移增加。寫入請求之間的時間段越長,序列號越大。

注意

序列號不能用作相同流中的數據集的索引。為了在邏輯上分隔數據集,請使用分區鍵或者為每個數據集創建單獨的流。

Kinesis Client Library

Kinesis Client Library 將編譯成應用程序,從而支持以容錯方式使用流中的數據。Kinesis Client Library 確保每個分片有一個用於運行和處理它的記錄處理器。庫還可以簡化流中的數據讀取。Kinesis Client Library 使用 Amazon DynamoDB 表存儲控制數據。它會為每個正在處理數據的應用程序創建一個表。

Kinesis Client Library 有兩個主要版本。使用哪個版本取決於要創建的使用者的類型。有關更多信息,請參閱 讀取 Amazon Kinesis Data Streams 中的數據

應用程序名稱

Amazon Kinesis Data Streams application 的名稱標識應用程序。每個應用程序必須具有一個唯一名稱,此名稱的范圍限定於應用程序使用的 AWS 賬戶和區域。此名稱用作 Amazon DynamoDB 中的控制表名稱和 Amazon CloudWatch 指標的命名空間。

服務器端加密

當創建器將敏感數據輸入流時,Amazon Kinesis Data Streams 可以自動加密這些數據。Kinesis Data Streams 使用 AWS KMS 主密鑰進行加密。有關更多信息,請參閱Amazon Kinesis Data Streams 中的數據保護


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM