考虑到带宽,并发连接等限制,开发具有大型用户群的应用程序后端的最佳策略?

问题描述 投票:0回答:1

我正在开发一个Android应用程序,该应用程序基本上是这样做的:在登录页面(首页)上,它显示了几个字。这些单词需要每天更新。其次,有一个“体验”选项卡,其中显示用户体验列表(约500个)及其个人资料图片,描述等。

[这个基本应用预计每天将吸引约100万用户,他们每天至少打开一次该应用才能看到这两个单词。许多人可能偶尔会打开“体验”部分。

第三,该应用需要具有推送通知功能。

我计划购买托管的wordpress托管,建立一个网站,并每天用这两个单词添加一个帖子,使用JSON-API提取这些单词并将其显示在应用程序的主页上。同样,对于体验,我将每个添加为wordpress帖子,并将它们从Wordpress数据库中提取。我选择wordpress的原因是它具有现成的数据输入接口,可以节省我的时间和精力。

但是我仍然坚持:WordPress的DB是否能够处理如此大量的查询?如此庞大的用户群和激增的流量,我怀疑我可能会超越顶峰。并发连接数限制。

我的最佳策略是什么?我应该使用WP,还是使用firebase或任何其他服务?我还需要确保该计划也具有成本效益。我的应用程序基本上与此类似:https://play.google.com/store/apps/details?id=com.ekaum.ekaum

对于推送通知,我计划使用第三方服务。请提出设计该应用程序后端的最佳策略。预先感谢所有愿意在此方面帮助我的人。

wordpress firebase cloud hosting backend
1个回答
0
投票

我从未使用过Wordpress,所以我不知道它是否或如何处理该负载。

您仍然可以使用WP进行数据输入,而write a scheduled function将使用WP的JSON API将数据复制到Firebase。

RTDB-vs-Firestore scalability指出RTDB可以处理20万个并发连接,而​​Firestore可以处理100万个并发连接。

但是,如果我做对了,您的应用就不需要连接就处于活动状态(即接收实时更新)。您可以一次获取数据,然后关闭连接。

对于RTDB,Enabling Offline Capabilities on Android指出

在Android上,Firebase自动管理连接状态以减少带宽和电池使用量。如果客户端没有活动的侦听器,没有任何挂起的写操作或onDisconnect操作,并且没有通过goOffline方法显式断开连接,则Firebase会在不活动60秒后关闭连接。

因此,如果您删除监听器,则连接应在1分钟后自行关闭,或者您可以使用goOffline强制更早关闭连接。

对于Firestore,我不知道它是否会自动发生,但是you can do it manually

Firebase Pricing中,您看到100K Firestore文档读取的价格为$ 0.06。 1M读取(两个字)的费用为0.6美元,加上一些网络流量。在RTDB中,成本与数据量有关,因此需要进行一些计算,但应该不会太多。我不熟悉定价的小细节,因此您应该做更多研究。

在您提到的应用中,体验似乎并没有经常改变。您可能要尝试手动构建自己的缓存,然后在每日数据中添加所需的版本控制信息。

© www.soinside.com 2019 - 2024. All rights reserved.