Google 俱乐部 Pub/Sub 与 Object 变更通知相比,可扩展性如何

How scalable are Google Club Pub/Sub compared Object Change Notifications

正如标题所问,Google Club Pub/Sub 与 Object 在 Google Cloud Storage 中使用签名 URL 上传 [=27] 中的更改通知相比,其可扩展性如何=]?

在处理短时间内上传的大量 objects 方面,每个人的表现如何?如果很多 objects 快速上传,传送速度会变慢吗?例如,1000objects/second?

如果两者都不可扩展,还有哪些其他选择?

为了我的目的,我需要上传一张图片,然后当通知发送到我的 Google App Engine 应用程序时,我需要写入我的数据库。上传图片和通知之间的时间间隔必须很短(最多 2-3 秒)。

每秒 1000 次对象更改,您想使用 Cloud Pub/Sub 通知。

对象更改通知和云 Pub/Sub 通知都可以在 1000 QPS 下正常工作。但是,在这种负载下,有几个理由更喜欢云 Pub/Sub。

首先,Cloud Pub/Sub 订阅支持拉取消息。一次调用 pull(),您可以一次检索 100 条或更多消息,然后一次调用 acknowledge() 来确认它们。对象更改通知总是对每条消息调用一次服务。使用 Cloud Pub/Sub 可以立即将您的服务器需要处理的 RPC 数量减少两个数量级。

其次,在高 QPS 时,您将要开始考虑失败、超时和重试。出于各种原因,Cloud Pub/Sub 在这里也是一个更好的选择。一方面,它支持可配置的确认期限,而对象更改通知始终必须在 20 秒内处理。另一方面,您可以查询以查看当前积压的大小,以防您落后。如果您使用的是推送订阅,如果您的消息接收者离线一段时间,云 Pub/Sub 也有更友好的流量提升,因此您不会在自己的服务器恢复在线时不堪重负。

第三,灵活性。 Cloud Pub/Sub 就是围绕这个用例设计的。接收大量消息是他们的全部生计,并且有许多功能和库都专注于此。不过,云存储专注于存储数据。对象更改通知有效,但它永远不会提供与 Cloud Pub/Sub.

一样多的通知功能