多个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 年前31 查看次数
1 回答
0

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

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

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

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

profile picture
专家
已回答 4 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则