串流處理的應用場景近年來越來越常見,尤其是IOT產業的蓬勃發展,加上硬體技術的發展,越來越多的即時資料能夠被蒐集下來。常見的即時串流資料有影片、語音、網站的Log與clickstream等。對串流資料做即時分析能夠幫助分析人員在第一時間,甚至是即時同步,了解自己的應用程式狀態,尤其是現在這麼競爭市場中,要在眾多競爭者中脫穎而出就要比對手早一步掌握先機,這個先機就要靠即時分析應用來發掘,所以串流處理也常出現在像是即時輿情分析或影像辨識等使用場景。
AWS Kinesis家族是專為串流處理所設計的全託管服務,Kinesis的架構設計和Kafka這類的MQ產品很像,都有producer、broker與consumer的角色。在AWS上有Kafka的託管服務—Amazon Managed Streaming for Apache Kafka (Amazon MSK)可以選擇,但更多時候,Kinesis是個更輕量方便的選擇。其中的四個串流服務分別是: Kinesis Video Stream、Kinesis Data Stream、Kinesis Data Firehose與Kinesis Data Analytics。接下來依序介紹:
Kinesis Video Stream(KVS),是個能夠輕鬆建立安全的影音串流架構的服務,它更常被應用在影音播放的串流服務,所以只簡單介紹。在資料分析比較相關的方面,是視訊串流應用來將影片、語音等即時資料串接像是Sagemaker這類的機器學習服務,方便進行進一步的分析任務。
KVS有自己獨立的服務頁面
KVS預設會使用AWS KMS以做到加密傳輸,如果要使用自己的金鑰可以在建立時設定
建立後就可以利用視訊串流的ARN(Amazon Resource Number)來訂閱。
*Kafka( https://zh.wikipedia.org/wiki/Kafka )
*MQ ( https://zh.wikipedia.org/wiki/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97 )