Kafka KStreams在Spring Cloud Stream中运行非常慢

myzjeezk  于 9个月前  发布在  Apache
关注(0)|答案(1)|浏览(101)

我已经在Sping Boot 中使用SpringCloudStreams实现了KStreams。我已经准备好从一个有20个分区的主题开始写一个有相同数量分区的主题。我有2个运行中的Pod。处理的平均记录是每分钟500 k。
我增加了10个并发,但性能仍然是一样的。我如何使用并发来提高性能?

spring:
  cloud:
    config:
    function:
      definition: RiskProcessor1
    stream:
      bindings:
        RiskProcessor1-in-0:
          destination: ******
          consumer:
            concurrency: 10
      kafka:
        streams:
          binder:
            brokers: kaas-int.nam.nsroot.net:9093
            functions:
              RiskProcessor1:
                applicationId: RiskProcessor1_development
            configuration:
              commit.interval.ms: 1000
              security.protocol: SSL
              default:
                deserialization:
                  exception:
                    handler: org.apache.kafka.streams.errors.LogAndContinueExceptionHandler
              schema:
                registry:
                  url: *****:9081
          default:
            consumer:
              keySerde: ****
              valueSerde: ****
            producer:
              keySerde: ****
              valueSerde: ****

字符串

wsewodh2

wsewodh21#

一个大致的轮廓:
1.找出你在哪里达到了阈值,内存,CPU或IO。如果有一个阈值突破检查选项,以克服它通过升级硬件。
1.找出你的硬件可以支持的线程数。如果超出了硬件的能力,增加线程是没有意义的。
由于您有20个分区,因此最多可以有20个并发消费者。
如果您使用适当的序列化,如Protocol Buffers或Avro,高数据流量将更具性能。

相关问题