我的问题是,在这些限制之后,Cloud Firestore会拒绝还是重新排队请求?
Maximum concurrent connections 1,000,000
Maximum writes per second per database 10,000
答案 0 :(得分:2)
当您达到这些限制时,操作只会失败。除了因网络连接错误导致的基本写入失败之类的Firestore中已存在的重试机制外,没有专门针对这些限制的队列和重试操作的机制。但是,如果执行批处理操作等失败的操作,则无论错误原因是什么,都没有内置的自动重试功能。
我应该注意,当您超过许多限制时,您并不能保证会失败。 Firestore的限制在很大程度上是物理上的,这意味着这些是硬件本身的一般限制。如他们所说,Firestore允许很多“突发性”,因此您可以在短时间内超过限制,但是这些限制在持续时肯定会导致失败。
如果我错了,请纠正我,但是从我读过的所有文章(并从Firebase团队得知)来看,每秒1个文档的持续写入速率限制是物理上的限制。
对文档的最大持续写入速率是每秒1。您也许可以在短时间内中断更频繁的写入,但是过一会儿,写入将以更高的持续速率失败。
在更大的范围内(同口同语):
正如所有文献所暗示的那样,这也是一种物理现象,需要我们手动解决(如文章中所述)。而且,AFAIK除了Firestore中已经存在的重试机制外,没有针对此错误的内置重试机制。您还应该知道,Firestore数据库中所有文档中每秒的最大写入量为每秒10,000。