使线程特定于 Spring Cloud GCP pubsub

问题描述

我有一个运行 GCP PubSub 消息传递的 Spring Cloud 应用程序。我有 2 个消息入站频道,订阅了 2 个不同的订阅者。我在应用程序的负载/压力测试期间面临的问题是,特定线程数设置如下:

spring.cloud.gcp.pubsub.subscriber.executor-threads: 350
spring.cloud.gcp.pubsub.subscriber.parallel-pull-count: 2
spring.cloud.gcp.pubsub.subscriber.max-ackNowledgement-threads: 700

当通道 1 的消息拉取的进程忙时,我没有足够的线程供通道 2 来拉取消息。解决方案是限制/配置每个通道的线程数。我发现很难弄清楚这一点。请帮助我!以下是我所指的频道:

@Bean
@ServiceActivator(inputChannel = "pubsubInputChannel1")
public MessageHandler extractionMessageReceiver() {
    return message -> {
        // do something
    };
}

@Bean
@ServiceActivator(inputChannel = "pubsubInputChannel2")
public MessageHandler extractionMessageReceiver() {
    return message -> {
        // do something
    };
}

注意,订阅者线程一直很忙,直到被消息拉出的特定进程结束。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)