【发布时间】:2019-10-25 08:47:35
【问题描述】:
我需要有关 gcp pub/sus 问题的帮助。我有一个进程向 pubsub 发送 100 条带有过滤器的消息,另一个应用程序(在 spring boot 中)接收这些消息。当 Spring Boot 应用程序从 pubsub 接收消息(不是 pull)时,处理 100 条消息,但进入该进程,接收更多消息,在不同时间接收不同数量的消息,任何时间接收 120,另外 140,其他超过 200。我没有找到任何解决方案,这是我的代码:
@Bean
@ServiceActivator(inputChannel = "pubsubInputChannel")
public MessageHandler messageReceiver() {
return message -> {
System.out.println("Message arrived! Payload: " + new String((byte[]) message.getPayload()));
//other process of app (call other api)
AckReplyConsumer consumer = (AckReplyConsumer) message.getHeaders().get(GcpPubSubHeaders.ACKNOWLEDGEMENT);
consumer.ack();
};
}
请帮帮我!!!
【问题讨论】:
-
一个好的开始方法是尝试增加确认截止日期和消息保留持续时间。供参考:cloud.google.com/pubsub/docs/faq#duplicatescloud.google.com/pubsub/docs/push
-
我试过了,但我有同样的问题,没有解决
标签: spring-boot google-cloud-platform google-cloud-pubsub