Gmail API 推送通知速率限制究竟是啥意思?

Posted

技术标签:

【中文标题】Gmail API 推送通知速率限制究竟是啥意思?【英文标题】:what exactly does the Gmail API push notification rate limit mean?Gmail API 推送通知速率限制究竟是什么意思? 【发布时间】:2020-03-01 19:54:57 【问题描述】:

我正在为 GCP 托管平台构建一个消息传递系统,并计划使用 Gmail 作为支持系统。用户可以通过我们的系统编写他们的消息,该系统将调用 Gmail API 将电子邮件发送给其他收件人。当有人回复时,Gmail API 会发送推送通知,我们的系统会依次通知使用过的人。

正如我预期的用户活动高峰期,每秒 1 条通知的限制 (https://developers.google.com/gmail/api/guides/push):

每个被监视的 Gmail 用户的最大通知速率为 1 个事件/秒。任何高于该速率的用户通知都将被丢弃。

似乎对我不起作用。但可以肯定的是,我想了解它的确切含义。

特别是: 如果我的邮箱在一秒钟内收到 100 封电子邮件会怎样? Gmail 会生成一个包含所有 100 封邮件的通知吗?还是会生成几个通知,最终通知我所有消息?或者由于消息率高和上述每秒 1 条通知的限制,我将收到第一条消息的单条通知,其余 99 条不会推送到我的后端?

【问题讨论】:

【参考方案1】:

文档告诉您的是,如果 100 个通知同时出现在同一用户的 gmail 上,第一个通知会通过,然后其他 99 个将被丢弃。

但是,有一种方法可以通过使用历史事件来恢复更改,这称为sync,并且有多种方法可以做到这一点。我建议您阅读Partial Synchronization 指南。

该文档还提供了一些关于如何构建代码来处理此问题的建议,特别是在 Reliability section of the documentation 中。

【讨论】:

以上是关于Gmail API 推送通知速率限制究竟是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

帧缓冲区在 Vulkan 中究竟是啥意思

“[HMR] 等待来自 WDS 的更新信号……”究竟是啥意思 [重复]

天使轮,ABC轮究竟是啥意思?

MIB究竟是啥意思?

请求 gmail-api 时出现 HttpError 429:超出用户速率限制

“PHP 与 MySQL 结合是跨平台的(您可以在 Windows 中开发并在 Unix 平台上服务)”究竟是啥意思?