0

私のアプリケーションは 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 バージョンを使用しています

助けてください。

4

1 に答える 1