Spring Kinesis 消费者太慢
Spring Kinesis consumer is too slow
消费者 运行 Windows 7,Java 8.
消费者在 1-5 秒内阅读 1 篇信息。我的设置有什么问题?
消费者:
@EnableBinding({Sink.class})
@SpringBootApplication
public class SpringCloudStreamKinesisConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudStreamKinesisConsumerApplication.class, args);
}
@StreamListener(Sink.INPUT)
public void logger(String payload) {
System.out.println("consumer received: " + payload);
}
}
消费者application.yml:
spring:
cloud:
stream:
bindings:
input:
destination: test_stream
content-type: application/json
consumer:
idleBetweenPolls: 250
消费者项目是同一项目中的一个模块,继承自以下pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-kinesis</artifactId>
<version>1.0.0.M1</version>
</dependency>
Kinesis 活页夹忽略这些设置:
我在调试时手动更改了此参数,但消费者在 10 秒 +- 内收到 1-2 个元素。有什么问题?
这确实是个问题,@Stav Alfi。
为 KinesisExtendedBindingProperties
注入修复 KinesisMessageChannelBinder
后,我看到了正确的属性填充。
因此配置应该是这样的:
spring:
cloud:
stream:
kinesis:
bindings:
input:
consumer:
idleBetweenPolls: 250
我会尽快修复上述问题。希望我们今天能发布 M2。
感谢您的耐心等待!
关于缓慢的消费速度:不要忘记您向 Kinesis 流发送消息的速度有多快,还要记住生产者和消费者之间确实存在一些延迟。换句话说,AWS Kinesis 上有一些合理的延迟来使记录可供使用。
有关详细信息,请参阅 AWS FAQ:
You can continuously add various types of data such as clickstreams, application logs, and social media to an Amazon Kinesis data stream from hundreds of thousands of sources. Within seconds, the data will be available for your Amazon Kinesis Applications to read and process from the stream.
消费者 运行 Windows 7,Java 8.
消费者在 1-5 秒内阅读 1 篇信息。我的设置有什么问题?
消费者:
@EnableBinding({Sink.class})
@SpringBootApplication
public class SpringCloudStreamKinesisConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringCloudStreamKinesisConsumerApplication.class, args);
}
@StreamListener(Sink.INPUT)
public void logger(String payload) {
System.out.println("consumer received: " + payload);
}
}
消费者application.yml:
spring:
cloud:
stream:
bindings:
input:
destination: test_stream
content-type: application/json
consumer:
idleBetweenPolls: 250
消费者项目是同一项目中的一个模块,继承自以下pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-kinesis</artifactId>
<version>1.0.0.M1</version>
</dependency>
Kinesis 活页夹忽略这些设置:
我在调试时手动更改了此参数,但消费者在 10 秒 +- 内收到 1-2 个元素。有什么问题?
这确实是个问题,@Stav Alfi。
为 KinesisExtendedBindingProperties
注入修复 KinesisMessageChannelBinder
后,我看到了正确的属性填充。
因此配置应该是这样的:
spring:
cloud:
stream:
kinesis:
bindings:
input:
consumer:
idleBetweenPolls: 250
我会尽快修复上述问题。希望我们今天能发布 M2。
感谢您的耐心等待!
关于缓慢的消费速度:不要忘记您向 Kinesis 流发送消息的速度有多快,还要记住生产者和消费者之间确实存在一些延迟。换句话说,AWS Kinesis 上有一些合理的延迟来使记录可供使用。
有关详细信息,请参阅 AWS FAQ:
You can continuously add various types of data such as clickstreams, application logs, and social media to an Amazon Kinesis data stream from hundreds of thousands of sources. Within seconds, the data will be available for your Amazon Kinesis Applications to read and process from the stream.