Мое приложение использует один поток, а затем отправляет сообщения в три потока.
Связующее:
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
Данные, которые мы отправляем в поток в каждой записи, составляют около 800 КБ. Мы видим, что в AbstractAwsMessageHandler/AmazonKinesisAsyncClient больше данных, что приводит к очень частой очистке сборщика мусора.
Мы используем версию Binder 1.0.0.RELEASE.
Не могли бы вы помочь?