扩展 Parse 服务器
现在是 2020 年,距离 Facebook 决定发布 Parse 的开源版本已经过去了 4 年多。在此期间,我们发布了许多新功能,支持者社区的规模也比以往任何时候都要大。我们为众多 Parse.com 用户决定信任 Back4App 的 Parse 服务器平台而感到自豪。我们希望与社区分享我们自这一旅程开始以来所汲取的一些经验教训。
对于一些Parse用户来说,扩展Parse一直是个问题,我们将揭开如何扩展Parse的秘密。
Parse 服务器是作为 Parse.com 的开源版本推出的,但事实证明它在许多其他方面都是宝贵的资源。它为构建和扩展应用程序提供了一个出色的 NodeJS 框架。这里所说的应用程序扩展是指大型应用程序–在 Back4App,我们已经将一些应用程序扩展到 10.000 Req/s(约 80.000 同时在线用户)。所有这些都可以在完全控制后端、避免黑盒解决方案带来的锁定和限制的情况下实现。
这些经验证明了 Parse 服务器的扩展能力远远超过 Parse.com 在其定价页面上公布的 600 req/s(见下文),也远远超过了其他一些黑盒子后端所施加的限制。许多有价值的功能确保 Parse Server 成为你最佳的应用程序扩展选择。我想强调其中一些最重要的因素。
Contents
1-无需重新设计即可扩展
灵活添加新模块:当您的应用程序发展壮大时,您需要新的功能来保持用户的参与度,甚至提高获取率,但有时可能无法获得完整的后端平台。因为 Parse Server 是一个开源解决方案,它允许你安装大量的 npm(NodeJS)模块,并集成新的 API 以访问更高级的功能。
垂直 x 水平扩展: Parse Server旨在支持无故障水平扩展,例如,在实例之间共享状态。它允许你简单地创建新的相同的 Parse Server 实例来共享你的应用程序请求处理。这有助于您在垂直扩展(只需增加机器配置)和水平扩展(优化性能和成本)之间找到最佳平衡点。例如,您可以先在单台机器上安装一个 Parse Server 实例,然后垂直扩展到云平台,同时持续监控成本和性能。一旦您的应用程序增长,您就可以创建这些服务器的副本,并添加负载平衡器,以更好地分配请求。
在防故障基础设施中运行应用程序
当您开始扩展应用程序时,冗余非常重要。您最不希望看到的情况就是服务器因大量用户而宕机。一旦开始扩展应用程序,请确保使用以下结构。
- 负载平衡器
- 应用服务器的自动扩展(至少两个)
- 数据库服务器的复制集(两台服务器 + 一个仲裁器)
优化查询性能:您可以使用 Parse Server 自定义应用程序请求,为每种应用程序类型获得最佳性能。
2-Parse Server堆栈非常稳固
乍看之下,这可能是一个挑战,但实际上它的可扩展性令人印象深刻。即使是 Javascript 的单线程特性,Node 也能利用集群模块发挥多核优势–这让开发人员可以创建一个具有共享端口的进程网络。为了在多台机器上进行扩展,开发人员可以使用nginx在多个 Parse Server 实例之间对接收到的请求进行负载平衡。此外,还可以使用connect-auth库有效执行 Node 的站点验证。这一过程避免了一些常见的开发错误,速度也是另一大优势。
3-在任何地方部署 Parse 服务器
你可以在自己选择的服务器上安装 Parse Server。这样,你就可以避免延迟等问题,并使用最适合你需求的基础设施。如果你有技术,你可以建立自己的基础架构,优化你的应用程序并托管 Parse Server。如果你认为云解决方案性能更好,也可以选择云解决方案。
Parse可以部署在市场上的任何主流云中。例如 AWS、Google Cloud、Digital Ocean 或 Azure。如果你更喜欢托管和专业化服务,可以选择 Back4app。
我们的结论是,开源模式是 Parse 服务器成功的关键。这种模式真正确保了您可以在扩展应用程序后随心所欲地使用该框架。这在很大程度上解释了为什么 Parse Server 已成为构建应用程序后端最受欢迎的开源框架。目前,git 仓库已有超过 26000 名 追星族,社区内有超过 100000 名开发者。
喜欢这篇文章吗?免费注册Back4App。
如何扩展 Parse Server?
为了使大型 Parse 应用达到最佳性能,请执行以下操作:
优化查询以提高性能;
在故障安全和冗余结构中运行应用;
广泛添加 NPM 模块
Parse 应用程序可以有多大?
在 Back4app,我们已经将应用程序扩展到每秒 10,000 个请求以上。因此,只要有充足的基础设施,应用程序就可以发展得相当庞大。
我可以在哪里部署 Parse?
您可以在专门的 Parse 托管服务(如 Back4app)或任何云(如 AWS、Azure、阿里巴巴、Google Cloud 或 Digital Ocean)中部署 Parse。