为接收大量消息做好准备

本文档介绍了如何做好充分准备,以便处理大量发送到 Webhook 的消息。Business Messages 平台已准备好在许多不同场景中投入使用。如果您预计会发生特定事件,我们的支持团队也可以帮助您做好准备。您可以通过几个简单的步骤来增强网络钩子的稳健性。

用户到 webhook 的流量

对于用户发送到钩子的流量,请考虑您的业务预计会出现哪种流量模式。您是否预计消息量会出现任何“突发”模式或突然变化?例如,仅供应晚餐的餐厅可能会在晚上收到大量消息,而白天其他时间收到的消息较少。再举一个例子,如果商店正在开展特别促销活动,那么在宣布促销活动时,消息量可能会异常庞大。

通常,Google 基础架构已做好处理突发流量的准备。商务信息与 Gmail 和 Google Cloud 等大型产品使用相同的服务器资源。向您的 webhook 发送的消息量不太可能过高,以至于导致 Business Messages 出现故障。此外,Business Messages 会将每个客服人员的消息单独加入队列。如果某个客服人员的消息队列出现拥堵,不会影响您的其他客服人员,即使他们共用相同的 webhook 也是如此。

不过,这仅适用于商家信息基础架构中的邮件队列。不过,消息传送到您的 webhook 后,情况就不同了。您应通过实现队列、并行处理请求等方式,确保 webhook 能够根据需要进行扩缩。如果您的 webhook 使用 HTTP 500 响应消息,或者根本未响应,商家信息会以指数级方式降低向您的 webhook 发送消息的速率。消息会在队列中保留 7 天。如果您的 Webhook 未在该时间内以 HTTP 200 响应,Business Messages 会丢弃消息。

网络钩子到用户流量

通过 webhook 发送的消息应遵循每对话每分钟 60 条消息的配额。合法的消息流不太可能达到此配额,但您应准备好处理来自商务信息的 HTTP 429 错误,这些错误表示您已超出配额。

一般来说,如果您的 webhook 从商家信息收到 HTTP 429 或 HTTP 500,则表示出现了暂时性错误,可能与消息发送速率有关。您应使用指数退避算法重试这些消息。不过,如果您的 webhook 收到 HTTP 503 或 HTTP 4xx(HTTP 429 除外),您应停止重试,并立即通知我们的支持团队。这些错误代码可能表示商家信息基础架构存在问题(例如 DOS 攻击),而发送更多消息只会加剧问题。

虽然没有与超出消息配额相关的具体中止条件,但 Business Messages 可能会中止行为异常或发送消息过多的消息代理。请查看中止条件,确保您的客服人员遵循必要的标准。

如何获取帮助

最好在预计出现问题时立即与我们联系。如果您告知我们您预计流量将会非常高(例如,投放了大量广告的促销活动),我们可以启动额外的广告投放资源,以尽可能做好准备。不过,在大多数情况下,您无需采取此类措施。

如果您已经遇到消息传送量问题,也可以与我们联系,我们会尽力帮助您解决问题。