Google app engine 与Google Club Pub/Sub相比,对象更改通知的可伸缩性如何

Google app engine 与Google Club Pub/Sub相比,对象更改通知的可伸缩性如何,google-app-engine,google-cloud-platform,google-cloud-storage,google-cloud-pubsub,Google App Engine,Google Cloud Platform,Google Cloud Storage,Google Cloud Pubsub,正如标题所问,当使用签名URL上载对象时,与Google云存储中的对象更改通知相比,Google Club Pub/Sub的可伸缩性如何 就能够在短时间内处理许多上传的对象而言,它们之间的比较如何?如果快速上载许多对象,交付速度会变慢吗?例如,每秒1000个对象 如果两者都不可扩展,还有什么其他选择 出于我的目的,我需要上传一张图片,然后当通知发送到我的Google App Engine应用程序时,我需要写入我的数据库。上传图像和通知之间的时间间隔必须很短(最多2-3秒)。当对象每秒更改1000

正如标题所问,当使用签名URL上载对象时,与Google云存储中的对象更改通知相比,Google Club Pub/Sub的可伸缩性如何

就能够在短时间内处理许多上传的对象而言,它们之间的比较如何?如果快速上载许多对象,交付速度会变慢吗?例如,每秒1000个对象

如果两者都不可扩展,还有什么其他选择


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

当对象每秒更改1000次时,您希望使用云发布/订阅通知

对象更改通知和云发布/订阅通知都可以在1000 QPS下正常工作。然而,在这种负载下,有几个理由更喜欢云发布/订阅

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

其次,在高QPS时,您需要开始考虑失败、超时和重试。出于各种原因,云发布/订阅在这里也是一个更好的选择。首先,它支持可配置的ack截止日期,而对象更改通知始终必须在20秒内处理。另一方面,您可以查询查看当前待办事项的大小,以防落后。如果您使用推送订阅,那么如果您的消息接收者离线一段时间,云发布/订阅也会有更友好的流量增长,这样您就不会在自己的服务器恢复在线时将其淹没


第三,灵活性。云发布/订阅就是围绕这个用例设计的。接收大量信息是他们的全部生计,有许多功能和库都专注于此。不过,云存储的重点是存储数据。对象更改通知可以工作,但它永远不会提供像云发布/订阅那样多的通知功能。

Awesome!谢谢你的详细描述。上传带有签名URL的对象时,是否也可以传递自定义标题,然后通过云发布/订阅将其传递到servlet?是的,如果上载带有某些自定义对象元数据的对象,则在通知到达时,该额外元数据将可用。是否有与此相关的另一个问题: