【问题标题】:Connection options from a React Native app to a REST API从 React Native 应用程序到 REST API 的连接选项
【发布时间】:2021-05-01 09:30:01
【问题描述】:

如果这不是问这个问题的确切地方,首先道歉。

我们计划构建一个 React Native 应用程序,该应用程序应该与我们后端的 REST API 进行通信。我们的目标是在笔记本电脑上运行基于 Spring 的 API,例如,应用程序的多个实例应该能够连接和交换信息

我们考虑了三个选项 -

  1. 如果我们将它托管在我们自己的计算机上,那么我们假设它的 IP 需要是静态的,并且不应涉及 DHCP。我们不确定这是否可行,而且我们在这方面没有太多的技术知识。这是一种可行的方法吗?如果可行,我们应该注意什么?

  2. 我们当然可以将它托管在云上,例如在 AWS 实例上,但我们刚刚起步并且预算很低(非常多)。我们肯定希望从免费层开始并在未来扩大规模,但有没有比沿着这条路线更划算的选择?

  3. 我们是否可以为此目的利用一些 P2P 库,例如 WebRTC 或 Socket.IO?同样,我们对这些主题有基本的了解,但缺乏判断力来确定它是否在短期内可行,以及如果我们希望在未来扩展应用程序以及何时扩展应用程序。

对此的任何见解或 cmet 将不胜感激。我们承认,目前我们可能缺乏技术专长来完成整个事情,但愿意学习。如果可能有任何其他库/框架可能更合适,请提出相同的建议。

谢谢! :)

【问题讨论】:

    标签: spring react-native rest heroku p2p


    【解决方案1】:

    选项 1:

    此选项最便宜,因为您已经拥有运行服务器的硬件。

    此解决方案将要求您具备一些网络知识。您的应用程序需要在您的公共 IP 上发出请求并将此请求重定向到您的计算机。您需要向您的互联网接入提供商咨询更多信息。

    此解决方案的限制来自您的硬件和互联网带宽。

    您的计算机可以处理有限数量的请求,并且带宽也会限制接收的请求数量。这可以成倍地增加服务器的响应时间。

    您可以购买更好的服务器、增加带宽或创建集群来避免此问题

    选项 2:

    如果这是一个临时的小规模项目,需要在全球部署多台服务器以减少您的请求的响应时间,可以采用此选项,需要动态扩展性能需求或者您不想管理您的硬件

    对于小型或大型项目,从长远来看,购买自己的服务器会更便宜。

    此解决方案的最大优势是实时优化您的需求。您可以根据白天的需要增加或减少服务器的功率。

    请记住,这些服务器存在于现实世界中,并且可能存在一些实际问题。例如,they can catch fire

    要记住的另一件事是云服务提供商can shut down your server at any moment for any reason

    选项 3:

    此解决方案应仅在您需要实时发送和接收数据时使用(消息、通知)。

    连接到您的服务器的套接字即使处于空闲状态也会消耗您服务器的资源,并增加其他用户的响应时间。

    【讨论】:

      猜你喜欢
      • 2022-10-18
      • 1970-01-01
      • 2021-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-31
      • 2020-04-06
      • 2019-07-19
      相关资源
      最近更新 更多