gpt4 book ai didi

r - 了解 Shiny Server 上托管的 R Shiny 应用程序的可扩展性

转载 作者:行者123 更新时间:2023-12-03 13:36:51 24 4
gpt4 key购买 nike

我正在为一个我正在考虑将其转变为公司的项目构建一系列交互式 Shiny 网络应用程序。我的背景是数据科学,我在 Web 应用程序/服务器端没有很多经验,但这些是我在项目中需要考虑的重要方面。我目前有一个安装了 ShinyServer(免费、开源)的 Amazon Linux AMI EC2 实例,并且我目前正在那里托管我的 Web 应用程序的早期版本。到目前为止一切正常,但我还没有公开链接。

  • 我的第一个问题是 是否有人知道我在使用 RShiny 应用程序和 ShinyServer 时是否会不可避免地遇到某些限制(可扩展性限制、与数据库的集成限制、安全/身份验证限制等)? 我还没有听说过许多成功的、 super 流行的 Web 应用程序是托管在 ShinyServer 上的 Shiny 应用程序,但我的感觉是 ShinyServer 主要用于托管仅在少数人之间共享的 RShiny 应用程序(即在团队之间共享)公司的成员。)。每个线程 - Does R-Server or Shiny Server create a new R process/instance for each user? - 我特别担心我的应用程序将无法同时处理数千个用户,因为无论应用程序的并发用户数量如何,只为应用程序创建了 1 个 R 进程。如果我打算扩展到超过数百或数千个用户,那么通过 ShinyServer pro 拥有 10-20 个进程可能无法解决问题。我还注意到 ShinyServer Pro 每年会给我带来不可忽视的 1 万美元。
  • 我的第二个问题是 是否可以使用 Heroku 等其他服务器技术部署 RShiny 应用程序 .我遇到了这个 github 页面( https://github.com/virtualstaticvoid/heroku-buildpack-r/tree/heroku-16 ),但还没有深入研究它。有人告诉我,heroku 可以很容易地更新代码在 github (git push heroku:master) 上的应用程序的版本,等等。
  • 我的第三个问题涉及我的某些具体考虑。特别是,我目前正在编写一个脚本,该脚本从 API 查询数据并将该数据写入我的(尚未设置的)数据库。这是我的应用程序使用的数据,我有兴趣在数据库更新时实时更新应用程序,而无需用户刷新网页。我的一个 friend 建议将 AJAX 用于这种类型的异步行为,看起来这在 R 中是可能的(https://github.com/daattali/advanced-shiny/tree/master/api-ajax)。

  • 对不起,这是一个如此沉重的问题,但我希望它不会被关闭,因为我认为它具有教育意义。任何建议/来源/将我指向正确的方向将不胜感激。

    最佳答案

    卡诺维斯,

    我建议您查看以下 RStudio/AWS 支持文章。要扩展 Shiny 的服务器,您需要考虑使用负载均衡器:

  • 工作室
  • https://shiny.rstudio.com/articles/scaling-and-tuning.html
  • https://support.rstudio.com/hc/en-us/articles/220546267-Scaling-and-Performance-Tuning-Applications-in-Shiny-Server-Pro
  • https://support.rstudio.com/hc/en-us/articles/217801438-Can-I-load-balance-across-multiple-nodes-running-Shiny-Server-Pro-
  • 自动售货机
  • https://aws.amazon.com/blogs/big-data/running-r-on-aws/
  • 博客文章:
  • http://mgritts.github.io/2016/07/08/shiny-aws/

  • Shiny 是一个很棒的平台,他们的支持很棒。我建议你给他们打电话——他们一定会帮助回答你的问题。

    也就是说,如果您的计划是创建一个可扩展的网站来支持数千或数十万人,那么我的感觉是建议您也查看并考虑使用 D3.js结合 react.jsAngular.js ,别忘了提 node.js .

    我的感觉是,您正在查看连接到逻辑引擎和可视化前端的后端数据库。如果您正在寻找一个很好的用法概述,请查看以下网页和 git repo [有点过时但有用]:
  • https://anmolkoul.wordpress.com/2015/06/05/interactive-data-visualization-using-d3-js-dc-js-nodejs-and-mongodb/
  • https://github.com/anmolkoul/node-dc-mongo

  • 我希望以上内容为您指明了正确的方向。

    关于r - 了解 Shiny Server 上托管的 R Shiny 应用程序的可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47725234/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com