答案 0 :(得分:1)
如documentation link about Error Codes that you shared中所述,当Pub / Sub服务无法处理请求时,将返回HTTP代码503(“UNAVAILABLE”)。一般来说,可以说这些类型的错误往往是短暂的,并且没有办法避免它们,你可以按照重试策略解决它们,例如我将很快评论的那个。
Google Cloud Pub/Sub SLA显示此服务的保证正常运行时间。正如您所看到的,它不是100%,因为可能会发生暂时性错误,考虑到您遵循建议的实施具有指数退避的重试策略的做法,这不会对您的服务造成太大影响。
此文档页面显示了Exponential Backoff retry strategy的示例实现。此示例适用于Google云端存储,但它可以(并且应该)应用于任何其他类似服务。它包括以增加的退避重试失败的发布/订阅请求,以增加请求成功的可能性。这是推荐的最佳实践和推荐的克服瞬态问题的方法。
答案 1 :(得分:0)
StreamingPull具有100%的错误率。
StreamingPull流始终以非OK状态(HTTP 503)终止。请注意,与常规RPC不同,此处的状态仅表示流已中断,而不是请求失败。
https://cloud.google.com/pubsub/docs/pull#streamingpull_has_a_100_error_rate_this_is_to_be_expected