本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開發具有專用輸送量的增強型廣發消費者
在 Amazon Kinesis Data Streams 中,您可以建置使用所謂增強型散發功能的取用者。此功能可讓消費者從串流接收記錄,每個碎片每秒最多 2 MB 的資料輸送量。此輸送量係屬專用,也就是說使用增強型散發功能的取用者不必與其他從串流接收資料的取用者競爭。Kinesis Data Streams 會將資料記錄從串流推送至使用增強型散發功能的取用者。因此,這類消費者無須輪詢資料。
重要
使用隨需優勢模式,每個串流最多可以註冊 50 個取用者,以使用增強型廣發功能。使用隨需標準和佈建串流,每個串流最多可註冊 20 位消費者,以使用增強型廣發功能。
下圖顯示強化廣發功能的架構。若您使用 2.0 版或更新版本的 Amazon Kinesis Client Library (KCL) 建置取用者,KCL 會將取用者設定成使用增強型散發功能從串流中的所有碎片接收資料。如果您是使用 API 建置使用強化廣發功能的消費者,則可以訂閱個別的碎片。
上圖顯示以下項目:
-
具有兩個碎片的串流。
-
使用強化廣發功能從串流接收資料的兩個消費者:消費者 X 和消費者 Y。兩個消費者均已訂閱串流中的所有碎片和所有記錄。若您使用 2.0 版或更新版本的 KCL 建置取用者,KCL 將自動為取用者訂閱串流中的所有碎片。另一方面,如果您是使用 API 建置消費者,則可以訂閱個別的碎片。
-
箭頭代表消費者用於從串流接收資料的強化廣發功能管道。強化廣發功能管道提供每個碎片每秒高達 2 MB 的資料,獨立於任何其他管道且與消費者總數無關。
共用輸送量消費者與增強廣發消費者之間的差異
下表將預設共用輸送量消費者與增強型廣發消費者進行比較。訊息傳播延遲定義為使用承載分派 APIs (例如 PutRecord和 PutRecords) 傳送的承載,透過承載消耗 APIs (例如 GetRecords和 ) 到達取用者應用程式所需的時間,以毫秒為單位SubscribeToShard。
| 特性 | 沒有增強廣發功能的共用輸送量消費者 | 增強廣發消費者 |
|---|---|---|
| 讀取輸送量 |
固定為每個碎片每秒總共 2 MB。若有多個消費者從同一碎片讀取,所有這些消費者將共用此傳輸量。消費者每秒從碎片接收的傳輸量總和不超過 2 MB。 |
隨著消費者註冊使用強化廣發功能而擴展。已註冊使用強化廣發功能的各消費者均接收其自身的每個碎片讀取傳輸量,最多每秒 2 MB,獨立於其他消費者。 |
| 訊息傳播延遲 |
若您有一個來自串流的消費者讀數,平均約為 200 ms。若您有五個消費者,則此平均數會上升至約 1000 ms。 |
一般而言,無論您有一個或五個消費者,平均為 70 ms。 |
| 成本 | 不適用 |
分為資料擷取成本和消費者碎片小時成本。如需詳細資訊,請參閱 Amazon Kinesis Data Streams 定價 |
| 記錄交付模式 |
使用 GetRecords 透過 HTTP 提取模型。 |
Kinesis Data Streams 使用 SubscribeToShard 透過 HTTP/2 推送記錄給您。 |
支援最多 50 個增強型廣發消費者的區域 (僅限隨需優勢)
在隨需優勢模式下,最多支援 50 個增強型廣發消費者,僅適用於下列 AWS 區域:
| AWS 區域 | 區域名稱 |
|---|---|
|
eu-north-1 |
歐洲 (斯德哥爾摩) |
|
me-south-1 |
Middle East (Bahrain) |
|
ap-south-1 |
亞太地區 (孟買) |
|
eu-west-3 |
Europe (Paris) |
|
ap-southeast-3 |
亞太地區 (雅加達) |
|
us-east-2 |
美國東部 (俄亥俄) |
|
af-south-1 |
非洲 (開普敦) |
|
eu-west-1 |
歐洲 (愛爾蘭) |
|
me-central-1 |
中東 (阿拉伯聯合大公國) |
|
eu-central-1 |
歐洲 (法蘭克福) |
|
sa-east-1 |
南美洲 (聖保羅) |
|
ap-east-1 |
亞太地區 (香港) |
|
ap-south-2 |
亞太地區 (海德拉巴) |
|
us-east-1 |
美國東部 (維吉尼亞北部) |
|
ap-northeast-2 |
亞太地區 (首爾) |
|
ap-northeast-3 |
亞太地區 (大阪) |
|
eu-west-2 |
歐洲 (倫敦) |
|
ap-southeast-4 |
亞太地區 (墨爾本) |
|
ap-northeast-1 |
亞太地區 (東京) |
|
us-west-2 |
美國西部 (奧勒岡) |
|
us-west-1 |
美國西部 (加利佛尼亞北部) |
|
ap-southeast-1 |
亞太地區 (新加坡) |
|
ap-southeast-2 |
亞太地區 (悉尼) |
|
il-central-1 |
以色列 (特拉維夫) |
|
ca-central-1 |
加拿大 (中部) |
|
ca-west-1 |
加拿大西部 (卡加利) |
|
eu-south-2 |
歐洲 (西班牙) |
|
cn-northwest-1 |
中國 (寧夏) |
|
eu-central-2 |
歐洲 (蘇黎世) |
| us-gov-east-1 | AWS GovCloud (美國東部) |
| us-gov-west-1 | AWS GovCloud (美國西部) |