步驟 7:收尾 - Amazon Kinesis Data Streams

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 7:收尾

由於使用 Kinesis 資料串流需要支付費用,當您使用串流完畢後,請務必刪除該串流和對應的 Amazon DynamoDB 資料表。作用中的串流即便並未傳送及取得記錄,也會象徵性地收取費用。這是因為作用中的串流會持續「監聽」傳入的記錄和取得記錄的請求,以致將耗用資源。

刪除串流和資料表
  1. 關閉任何可能仍在執行中的生產者和消費者。

  2. https://console.aws.amazon.com/kinesis 上開啟 Kinesis 主控台。

  3. 選擇您為此應用程式所建立的串流 (StockTradeStream)。

  4. 選擇 Delete Stream (刪除串流)

  5. 請在 https://console.aws.amazon.com/dynamodb/ 開啟 DynamoDB 主控台。

  6. 刪除 StockTradesProcessor 資料表。

總結

近乎即時地處理大量資料不需要撰寫任何神奇的程式碼或發展大型基礎設施。這就像撰寫邏輯來處理少量資料 (比方撰寫 processRecord(Record)) 一樣簡單,但是使用 Kinesis Data Streams 將擴展該邏輯而使其能夠處理大量的串流資料。您不必擔心如何擴展處理方式,因為這一切 Kinesis Data Streams 都將為您代勞。您只需要傳送串流記錄至 Kinesis Data Streams 並撰寫邏輯以處理每一筆收到的新記錄。

以下是對此應用程式可行的一些強化功能。

跨所有碎片進行彙整

目前您是透過彙整單一工作者從單一碎片接收的資料記錄來取得統計資料 (任一碎片不能同時由單一應用程式中的多個工作者處理)。當然,您若擴展為具有多個碎片,可能會想要跨所有碎片進行彙整。為此,您可以採用某種流程架構,將每個工作者的輸出都饋送至具有單一碎片的另一串流,而碎片則由彙整第一個階段輸出的工作者處理。由於取自第一個階段的資料有限 (每個碎片每分鐘一次取樣),單一碎片就能輕鬆處理這些資料。

擴展處理

當串流擴展為具有多個碎片後 (因為有許多生產者傳送資料),擴展處理的方式即是增加更多工作者。您可以在 Amazon EC2 執行個體上執行工作者並使用 Auto Scaling 群組。

使用連接器到 Amazon S3/DynamoDB/Amazon Redshift/Storm

連續處理串流時,其輸出可傳送至其他目的地。AWS 提供連接器,以將 Kinesis Data Streams 與其他 AWS 服務和協力廠商工具整合。