Firebase管理Java客户端规模

Firebase管理Java客户端规模,java,firebase,firebase-realtime-database,firebase-admin,Java,Firebase,Firebase Realtime Database,Firebase Admin,有人试过大规模使用firebase admin和Java吗 我正在与Firebase合作一个物联网项目,需要一种每秒向Firebase存储数千个值的方法。我已经在我的后端应用程序中实现了firebase管理库,但如果我尝试对它进行压力测试(每秒数千个请求),客户端就会开始延迟 我一直在阅读客户机的内部结构,我可以看到它使用的是一个队列来保存Firebase查询。执行器(RevivingScheduledExecutor)中有一个线程从队列中提取查询,并通过web套接字将其发送到Firebase数

有人试过大规模使用firebase admin和Java吗

我正在与Firebase合作一个物联网项目,需要一种每秒向Firebase存储数千个值的方法。我已经在我的后端应用程序中实现了firebase管理库,但如果我尝试对它进行压力测试(每秒数千个请求),客户端就会开始延迟

我一直在阅读客户机的内部结构,我可以看到它使用的是一个队列来保存Firebase查询。执行器(RevivingScheduledExecutor)中有一个线程从队列中提取查询,并通过web套接字将其发送到Firebase数据库。问题是,如果我按规模进行,队列将开始增长,因为客户端无法发送这么多查询,所以查询开始延迟一秒钟、几分钟,然后几分钟。。。直到内存泄漏(队列中有太多的查询被卡住和未处理)

有人面临问题吗?我如何缩放它


提前多谢了,我已经尝试了很多天来解决这个问题。

JavaRTDB客户端确实是Android客户端的一个端口。因此,它实际上就像一个单一的应用程序一样运行。RTDB客户机的Python和Go实现可以更好地处理大型卷,因为它们是完全无状态的,并且在底层使用RTDB REST API(注意,它们不支持实时侦听器)。如果您必须使用Java实现,那么运行多个FirebaseApp/FirebaseDatabase实例并在它们之间分配负载可能是您的最佳选择。谢谢,我将使用自定义Java REST客户端,而不是多个FirebaseApp。