我正在使用Kinesis Firehose压缩事件并将其保存到S3。前缀格式为UTC时间的YYYY / MM / DD / HH。 发送到Firehose的那些事件还包含一个UTC时间作为字段。使用此字段,我发现S3中的YYYY / MM / DD / HH对象也包含其先例和下一个小时的事件。
我正在使用的缓冲区限制为128MB / 600s。
您是否知道这些是硬性限制,还是有可能缓冲超出这些限制的事件?
答案 0 :(得分:1)
我希望您可能会收到超出限制的事件。例如,如果Firehose碰巧读取了一些比缓冲区大小更多的记录,则可能不会将它们推迟到下一个缓冲区。但是我不能肯定地说。
对于您的用例而言,更重要的是,当达到以下两个限制之一时,Firehose将编写一个缓冲区,然后重新开始。因此,如果您在373秒内获得128M,则不会等待227秒再写入该缓冲区。如果发生这种情况,您每小时将看到超过6个S3对象。
由于吞吐量限制,记录很可能没有立即写入流中。根据重试的方式,您可能会看到几秒钟的延迟。