【问题标题】:Transition App From Parse.com来自 Parse.com 的转换应用程序
【发布时间】:2015-03-29 02:44:47
【问题描述】:

我使用 Parse.com 构建了多个应用程序,其中一个刚刚被提升为受资助的产品。就 Parse 实现而言,该应用程序(社交网络)相当复杂。它有:

  • 近乎实时的聊天
  • 新闻源
  • 大量云代码
  • IOS 客户端和 Android 将在未来几周内推出

我经历过很多典型的 Parse 陷阱(超时、超出查询宽度等),而且只有大约 2k 用户。有了我们的新资金,明年我们可能会跃升至至少 4 万用户,这将放大问题。

这一切都归结为我认为我们需要摆脱 Parse,但问题是如何避免停机。

您是如何从 Parse.com 转换实时应用程序的?有什么陷阱或经验教训吗?

我最初的想法是实现一个瘦 API(使用单独的服务器)以将客户端交互从 Parse 中抽象出来,这样我就可以转换应用程序。有人采用这种方法吗?

编辑:

鉴于 Parse 正在关闭这个问题与更多人相关,所以我想我会添加我最终做的事情。

我们最终在 NodeJS/Express/Mongoose 上使用 Mongo 后端(使用 Compose.io)构建了应用程序。如果您可以编写云代码,则可以为 Node 编写云代码,而 Parse 使用的是 Mongo。我对选项的分析是,创建某种中间层只会使事情复杂化,这将花费大量时间。我用了大约 3 个月的时间就完成了新版本,它拥有更大且非常活跃的用户群。

【问题讨论】:

  • 作为一个希望在未来遇到这个问题的人,你有没有把免费的 30req/sec 水平扩大到以上?你发现了什么问题?
  • 如果我们已经超过了 30req/sec,那只是非常短暂的。我们看到的问题主要与使用复杂规则填充新闻源以及解析对所有请求施加的超时有关。
  • 您是否考虑过在另一台服务器上执行一些更耗时的方法并上传结果。 (例如,将它们作为 C# 查询运行并上传结果)。这在许多情况下可能没有意义,但它在我们希望 iOS/Android API 易于使用的短期项目中为我们提供了极大的帮助,但我们遇到了云代码超时问题。 (显然不是一个很好的长期方法,但如果您没有多余的开发时间,这很好)。
  • @ardrian 你的建议是我快速接近的“计划 b”,但我确信同样的超时问题对我们来说也指日可待(我们已经有了一些,但它会变得更糟) .在这一点上,我想我们要么立即跳到一个全新的 API,要么继续使用 Parse 并填补我们目前的漏洞。我不喜欢任何一个选项!

标签: android ios api parse-platform


【解决方案1】:

我建议您首先重新审视您的数据模型。一个设计不当的数据模型会让你付出很多。在设计数据模型时,需要考虑的几件事是:

  1. 您有巨大的数据存储限制,但查询执行较少 限制。所以如果你能妥善管理,最好有一些 冗余以减少对服务器的查询/请求。
  2. 您必须尽量避免使用这样的模型进行批量数据插入/更新操作。

关于迁移,我认为你有云代码,你相对更安全。

  1. 确保您的数据已迁移。这会有点痛苦,并且可能需要一些额外的努力来确保完整性。
  2. 数据迁移完成后,将您的云代码作为包装器。在您自己的服务器上拥有自己的 api,然后使用 Parse.Cloud.httpRequest 从云代码向这些 api 发出请求并提供响应。
  3. 发布应用更新,以便新用户可以直接与您自己的 API 进行交互。

【讨论】:

    猜你喜欢
    • 2014-04-15
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 2013-06-23
    相关资源
    最近更新 更多