javascript - 电话应用程序 : Cloud Storage vs Local

标签 javascript node.js mongodb cordova google-cloud-storage

我一直在使用 JavaScript 开发一些应用程序,并利用 Adob​​e PhoneGap 进行跨平台集成。但是,我目前陷入了有关应用程序存储的架构决策并寻求指导。

我目前拥有的一个应用程序将用户数据(例如,用户配置选项、表记录等)作为文本文件存储在 Google 云端硬盘中。以下是应用程序启动的工作流程:

  1. 应用加载
  2. 用户使用 Google 帐户登录
  3. 系统检查 Google 云端硬盘上是否存在应用数据
  4. 如果数据存在,则加载文件。否则创建数据文件。
  5. 解析数据文件。
  6. 填充数据表、图表等。

当用户保存时,我基本上会捆绑这些数据并将文本文件保存回 Google 云端硬盘。

现在,我知道瓶颈当然是解析这个文件,它不如从数据库读取数据那么好,但这将是我的问题:您将如何以一定的成本将数据存储在云中有效的方式?您会定期将数据备份为文本文件吗?您是否有推荐的免费(即有限制)存储选项?

我有编写全栈 JavaScript 应用程序的经验,但从未在任何地方部署过这些应用程序......更多的是学习经验。

我在想,也许最好的选择是将 Node 服务器和 mongoDb 部署到某些云服务(可能是 AWS?),但我们的目标是,在一天结束时,赚一些钱。如果您需要更多详细信息,请告诉我!

最佳答案

这当然取决于您拥有多少用户以及您想要完成什么,因为通过互联网发送数据并将其保存在服务器上会给您带来其他 Angular 考虑,正如您提到的成本就是其中之一。 如果没有足够的用户,运行专用服务器是没有利润的。 您可以使用用户自己的 Google 云端硬盘存储空间,有些人喜欢,有些人不喜欢。 更重要的是安全性,因为某些用户数据非常敏感,通过互联网传输这些数据是一个问题,您必须采取正确的措施来确保其安全。也表现明智。 我知道当你打开应用程序时,你要做的第一件事就是等待,因为它必须从互联网加载和同步,这令人沮丧。

如果用户设备离线怎么办..?

我不知道它是什么类型的应用程序,所以我无法给您推荐。

如果它是敏感的,您可能不想通过互联网发送它。 它大吗,不要经常发送,并且在设备上有缓存。 如果它不是仅限互联网(持续连接)的应用程序,请确保它可以离线工作。 一直发送文件/数据是一个坏主意,因为它会耗尽电池并使用户生气(互联网消耗成本)。

在考虑安全性、性能、电池和成本时,本地总是更好。

出于备份原因,一个 session 同步一两次也不错, 尝试在后台(异步)执行此操作,这样就不会阻止您的用户。 确保您的设备上有缓存(如果可能)。

我的应用程序一开始就会检查一次在线数据。但我的应用程序使用设置,以便我可以更改而无需再次推送更新。 但它有一个缓存(离线)版本,供设备离线时使用。

例如,当您有银行应用程序时,不可能有缓存版本,因为缓存可能包含旧信息并向用户提供错误信息。 因此用户必须等待下载信息。但它仍然可以是异步的,因为应用程序仍然应该响应(ui)。因此它可以显示动画加载图标或者用户可以浏览并等待数据下载。

我希望这能回答您的问题。

关于javascript - 电话应用程序 : Cloud Storage vs Local,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36632267/

相关文章:

javascript - 如何在主干js中监听模型中的其他模型事件?

javascript - jQuery 最接近的不返回任何内容/找不到禁用的输入

node.js - 将 .limit() 与 Firestore 查询结合使用

mongodb - 我可以直接在 MongoDB 中使用 backbone 吗? *没有 node.js, socket.io

mongodb - MongoDB 中的两阶段提交

javascript - 更改 Meteor 应用程序文本的多个按钮

javascript - 在内存中编译 Webpack 但解析为磁盘上的 node_modules

javascript - 如何将字符串转换为 Typescript 中的枚举

javascript - 带有 request-json 的多个 get 请求无法在 Node js 中使用异步正确执行

64-bit - MongoDB限制存储大小?