微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使线程特定于 Spring Cloud GCP pubsub

如何解决使线程特定于 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 举报,一经查实,本站将立刻删除。