多个Kinesis Firehose目的地

0

【以下的问题经过翻译处理】 一个客户想要使用Kinesis来从多个账户中收集和聚合日志数据到一个中央账户。 他们有两个目的地:

  1. S3(使用parquet转换以便于Glue/Athena访问)
  2. ElasticSearch(用于可视化和常见查询)

AWS推荐的方法以及原因是什么?

以下是我能想到的三种方法,但还希望得到更多指导:

A. 使用Kinesis Data Stream作为主要的传递机制,并使用它来提供两个Kinesis Firehose流,每个流都针对其中一个目的地(如上所述)。

B. 使用Kinesis Firehose作为主要的传递机制,将数据首先传送到S3(使用parquet转换),然后使用S3/Lambda触发器将数据加载到ElasticSearch。

C. 使用Kinesis Firehose作为主要的传递机制,将数据同时传送到S3(未转换的原始数据)和ElasticSearch。然后使用S3/Lambda触发器将原始S3数据转换为parquet格式,并保存回S3。

profile picture
專家
已提問 4 年前檢視次數 34 次
1 個回答
0

【以下的回答经过翻译处理】 我已经与其他几个人讨论了同样的问题,答案归结为以下几点:

  1. 在AWS中有许多方法可以传输数据,其中许多方法可能是“正确”的方法,具体取决于多个因素,如速度、容量、数据源、数据消费模式和工具等。简而言之,没有一种普适通用“正确”答案,它将取决于具体的上下文。

  2. 最初提出的方法(使用Kinesis Data Stream作为主要传输机制,并将其馈送到两个Kinesis Firehose流中 - 每个流针对一个所需的目标)是可接受的方法和模式。然而,应该回答的问题是:客户是否希望创建这些日志的“原始数据”存储桶,或者已经落地的数据(无论是在S3/parquet还是Elasticsearch中)是可接受的真实数据源。

  3. 其他人提到的模式也是可接受的模式,然而,每个模式都应该经过评估,以权衡和评估其对解决方案与客户需求和上下文(例如速度、容量、数据源、数据消费模式和工具等)

profile picture
專家
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南