多个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년 전35회 조회
1개 답변
0

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

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

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

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

profile picture
전문가
답변함 4년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인

관련 콘텐츠