正如标题所示,使用签名网址上传对象时,Google Club Pub / Sub与Google云端存储中的对象更改通知相比具有多大的可扩展性?
如何在短时间内处理许多上传的对象方面进行比较?如果快速上传许多对象,交付会更慢吗?例如,1000对象/秒?
如果两者都没有可扩展性,那么其他选项是什么?
出于我的目的,我需要上传图片,然后当我的Google App Engine应用程序发送通知时,我需要写一个数据库。上传图像和通知之间的时间间隔很短(最多2-3秒)非常重要。
答案 0 :(得分:2)
每秒1000次对象更改,您希望使用Cloud Pub / Sub通知。
对象更改通知和云发布/订阅通知都可以在1000 QPS下正常运行。但是,在那些类型的负载中,有几个理由喜欢Cloud Pub / Sub。
首先,Cloud Pub / Sub订阅支持提取消息。通过一次调用pull(),您可以一次检索100条或更多条消息,然后通过一次确认()来确认它们。对象更改通知始终为每条消息调用一次服务。使用Cloud Pub / Sub可以立即减少服务器需要处理的RPC数量两个数量级。
其次,在高QPS时,您将需要开始考虑故障,超时和重试。出于各种原因,Cloud Pub / Sub也是一个优越的选择。例如,它支持可配置的确认截止日期,而对象更改通知始终必须在20秒内处理。另一方面,您可以查询当前积压的大小,以防您落后。如果您正在使用推送订阅,如果您的邮件接收器稍微离线,Cloud Pub / Sub也会有更加友好的流量增长,因此当您重新联机时,您不会淹没您自己的服务器。
第三,灵活性。 Cloud Pub / Sub是围绕此用例设计的。接收大量的消息是他们的全部面包和黄油,并且有许多功能和库集中在它上面。但是,云存储专注于存储数据。对象更改通知有效,但它永远不会提供与Cloud Pub / Sub。一样多的通知功能