亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
了解缓冲提示
Amazon Data Firehose 会将内存中传入的流数据缓冲到一定大小(缓冲大小)和一段时间(缓冲间隔),然后再将其传送到指定目的地。如果您想向 Amazon S3 交付大小最佳的文件并提高数据处理应用程序的性能,或者要调整 Firehose 的传输速率以匹配目标速度,则需要使用缓冲提示。
您可以在创建新的 Firehose 直播时配置缓冲大小和缓冲间隔,或者更新现有 Firehose 直播的缓冲大小和缓冲间隔。缓冲大小以 MB 为单位测量,缓冲间隔以秒为单位。但是,如果您为其中之一指定值,您还必须为另一个提供值。满足的第一个缓冲条件会触发 Firehose 交付数据。如果您未配置缓冲值,则使用默认值。
您可以通过 Amazon Web Services Management Console、 Amazon Command Line Interface或软件开发工具包配置 Firehose 缓冲提示。 Amazon 对于现有流,您可以使用控制台中的编辑选项或使用 API 重新配置缓冲提示,使其具有适合您用例的值。UpdateDestination对于新直播,您可以使用控制台或 CreateDeliveryStreamAPI 将缓冲提示配置为创建新直播的一部分。要调整缓冲区大小,请在CreateDeliveryStream或 UpdateDestinationAPI 的目标特定DestinationConfiguration
参数IntervalInSeconds
中设置SizeInMBs
和。
注意
为了降低实时用例的延迟,您可以使用零缓冲间隔提示。当您将缓冲间隔配置为零秒时,Firehose 不会缓冲数据,而是在几秒钟内传送数据。在将缓冲提示更改为较低的值之前,请咨询供应商,了解有关其目标的 Firehose 推荐缓冲提示。
零缓冲功能仅适用于应用程序目标,不适用于 Amazon S3 备份目标。
注意
当您配置的缓冲时间间隔小于 60 秒以提供更低的延迟时,Firehose 会对 S3 目标使用分段上传。由于 S3 目标的分段上传,如果您选择的缓冲时间间隔小于 60 秒,则会看到 S3 PUT
API 成本会有所增加。
有关目标特定的缓冲提示范围和默认值,请参阅下表:
目标位置 | 缓冲区大小(以 MB 为单位)(括号中为默认值) | 以秒为单位的缓冲间隔(括号中为默认) |
---|---|---|
S3 | 1-128 (5) | 0-900 (300) |
Redshift | 1-128 (5) | 0-900 (300) |
OpenSearch 无服务器 | 1-100 (5) | 0-900 (300) |
OpenSearch | 1-100 (5) | 0-900 (300) |
Splunk | 1-5 (5) | 0-60 (60) |
Datadog | 1-4 (4) | 0-900 (60) |
Coralogix | 1-64 (6) | 0-900 (60) |
Dynatrace | 1-64 (5) | 0-900 (60) |
弹性 | 1 | 0-900 (60) |
Honeycomb | 1-64 (15) | 0-900 (60) |
HTTP 端点 | 1-64 (5) | 0-900 (60) |
LogicMonitor | 1-64 (5) | 0-900 (60) |
洛吉奥 | 1-64 (5) | 0-900 (60) |
MongoDB | 1-16 (5) | 0-900 (60) |
NewRelic | 1-64 (5) | 0-900 (60) |
SumoLog | 1-64 (1) | 0-900 (60) |
Splunk Observability Cloud | 1-64 (1) | 0-900 (60) |