Cloud Firestore是否会拒绝或重新排队超出连接和每秒写入限制的请求?

时间:2020-06-07 13:57:23

标签: google-cloud-firestore

我的问题是,在这些限制之后,Cloud Firestore会拒绝还是重新排队请求?

Maximum concurrent connections 1,000,000
Maximum writes per second per database 10,000

1 个答案:

答案 0 :(得分:2)

当您达到这些限制时,操作只会失败。除了因网络连接错误导致的基本写入失败之类的Firestore中已存在的重试机制外,没有专门针对这些限制的队列和重试操作的机制。但是,如果执行批处理操作等失败的操作,则无论错误原因是什么,都没有内置的自动重试功能。

我应该注意,当您超过许多限制时,您并不能保证会失败。 Firestore的限制在很大程度上是物理上的,这意味着这些是硬件本身的一般限制。如他们所说,Firestore允许很多“突发性”,因此您可以在短时间内超过限制,但是这些限制在持续时肯定会导致失败。

如果我错了,请纠正我,但是从我读过的所有文章(并从Firebase团队得知)来看,每秒1个文档的持续写入速率限制是物理上的限制。

对文档的最大持续写入速率是每秒1。您也许可以在短时间内中断更频繁的写入,但是过一会儿,写入将以更高的持续速率失败。

在更大的范围内(同口同语):

您还应该知道,Firestore数据库中所有文档中每秒的最大写入量为每秒10,000。

正如所有文献所暗示的那样,这也是一种物理现象,需要我们手动解决(如文章中所述)。而且,AFAIK除了Firestore中已经存在的重试机制外,没有针对此错误的内置重试机制。

https://medium.com/firebase-developers/the-top-10-things-to-know-about-firestore-when-choosing-a-database-for-your-app-a3b71b80d979#:~:text=You%20should%20also%20know%20that,database%20is%2010%2C000%20per%20second