私のアプリケーションは 1 つのストリームから消費し、3 つのストリームにメッセージをプッシュしています
バインダー:
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 です。非常に頻繁な GC フラッシュを引き起こしている AbstractAwsMessageHandler/AmazonKinesisAsyncClient により多くのデータがあることがわかります。
Binder の 1.0.0.RELEASE バージョンを使用しています
助けてください。