我的应用程序从一个流中消费,然后将消息推送到三个流上
粘合剂:
public interface MyBinder {
@Input("input1")
SubscribableChannel input1();
@Output("output1")
MessageChannel output1();
@Output("output2")
MessageChannel output2();
@Output("output3")
MessageChannel output3();
}
配置:
spring:
cloud:
stream:
kinesis:
binder:
locks:
leaseDuration: 30
refreshPeriod: 3000
bindings:
input1:
consumer:
listenerMode: batch
recordsLimit: 1500
idleBetweenPolls: 10000
consumer-backoff: 1000
bindings:
input1:
group: my-group
destination: input1-stream
content-type: application/json
output1:
destination: output1-stream
content-type: application/json
output2:
destination: output2-stream
content-type: application/json
output3:
destination: output3-stream
content-type: application/json
我们推送的数据流在每条记录中大约 800kb。我们看到 AbstractAwsMessageHandler/AmazonKinesisAsyncClient 中有更多数据导致非常频繁的 GC 刷新。
我们使用的是 1.0.0.RELEASE 版本的 Binder
你能帮忙吗?