簡體   English   中英

kinesis 數據流中的分片是什么

[英]What is shards in kinesis data stream

kinesis 數據流和分區鍵中的分片是什么。 我閱讀了 aws 文檔,但我不明白。 有人可以用簡單的術語解釋一下嗎?

來自Amazon Kinesis Data Streams 術語和概念 - Amazon Kinesis Data Streams

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

因此,分片有兩個目的:

  • 一定的容量/吞吐量
  • 消息的有序列表

如果您的應用程序必須按順序處理所有消息,那么您只能使用一個分片。 把它想象成銀行里的一條線——如果有一條線,那么每個人都會得到有序的服務。

但是,如果消息只需要為某個消息子集排序,則可以將它們發送到單獨的分片。 例如,銀行中的多條線路,每條線路都按順序提供。 或者,想想公共汽車發送 GPS 坐標。 每條總線只向一個分片發送消息。 一個分片可能包含來自多個總線的消息,但每個總線只發送到一個分片 這樣,當處理來自該分片的消息時,來自特定總線的所有消息都會按順序處理。

這是通過使用標識源的分區鍵控制的。 分區鍵被散列並分配給一個分片。 因此,具有相同分區鍵的所有消息將進入相同的分片。

在后端,每個分片通常有一個工作人員按順序處理來自該分片的消息。

如果您的系統不關心保留消息順序,則使用隨機分區鍵 這意味着消息將被發送到任何分片。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM