为什么要在 Amazon AWS ElasticSearch 前端使用 AWS Kinesis Firehose

Why front Amazon AWS ElasticSearch with AWS Kinesis Firehose

我看到几个应用程序将数据发送到 AWS Kinesis Firehose,然后自动传输到 AWS ElasticSearch。您可以直接写入 AWS ElasticSearch。如果我不需要任何类型的数据转换并且我可以直接将数据写入 ElasticSearch,那么使用 AWS Kinesis Firehose 的前端 ElasticSearch 仍然提供任何优势。比如它能保护 ElasticSearch 免受流量高峰等的影响吗?

除了转换之外,AWS ES 前面有 Firehose 可以考虑以下原因:

  1. 更好地控制流数据

由于Elasticsearch对写入队列的大小有限制,如果有几秒钟的数据突发,ES可能会抛出拒绝 能够在该有限数据中写入数据。在此,你将结束 up 丢失被拒绝的数据

但是,当 Firehose 放在前面时,它会为您处理重试,数据丢失的可能性会降低。

  1. Firehose 是通往 ES 的单向路径

您的 ES 集群可能包含机密数据,如果您 允许用户发出 POST 请求(某些写入需要),您 可能会将集群暴露给超过所需的用户。消防水带罐 通过只写 applications/user 来帮助你限制它 访问 FH 流而不是 ES 集群。