有没有办法为 google 云 pub/sub 配置保留期?

Is there a way to configure the retention period for google cloud pub/sub?

有没有办法指定 google 云 pub/sub 中消息的保留期?假设我有一个订阅者开始使用消息,但服务崩溃了,并在错误修复一天后重新上线。能否从上一个检查点继续?消费者需要多久重新连接 pub/sub 以保证它不会丢失任何消息?

类似地,Amazon Kinesis 最多可以保留消息 24 小时,而 Kafka 可以有基于时间 or/and 磁盘 space 的保留策略。

订阅最多可以将未送达的消息保留 7 天。不可配置。

仅供参考,此处描述了包括这一限制在内的各种限制: https://cloud.google.com/pubsub/quotas

Google 现在可以使用 beta API 和 gcloud CLI 创建具有自定义消息保留期限的 Cloud PubSub 订阅,例如:

# gcloud beta pubsub subscriptions create mysub --topic=mytopic --message-retention-duration=48h

可接受的值介于 10 分钟到 7 天之间(默认值)。

供参考:https://cloud.google.com/sdk/gcloud/reference/beta/pubsub/subscriptions/create

现在也可以更新订阅(测试版):https://cloud.google.com/sdk/gcloud/reference/beta/pubsub/subscriptions/update