有没有办法让R Shiny支持多个用户?我正在谈论数百个并发用户

时间:2017-11-17 03:14:02

标签: r shiny

有没有办法让R Shiny支持多个用户?我正在谈论数百个并发用户。 添加一些上下文:我不是在谈论身份验证(用户名/密码)。这将由Auth0负责(参见auth0.com)。因此,在他们登录后,我发现Shiny Server没有将用户名传递给Shiny会话(可能是故意的,所以你被迫购买Shiny Server的商业许可证?)。我的问题更多的是:a)如何让它识别登录用户的用户名? b)它会扩展到数百个并发(同时)用户吗?

3 个答案:

答案 0 :(得分:2)

https://www.shinyproxy.io/尝试解决问题b):它为每个应用程序和每个用户生成一个Docker容器。如果你给它足够的资源它应该很好地扩展(不幸的是,它很难估计什么"足够"事先......你应该运行自己的测试)。

我不确定问题a)但是Shinyproxy可以很好地处理用户身份验证。

答案 1 :(得分:0)

可以启用Shiny Server的免费版本,以便在加载应用程序(登录屏幕)之前使用身份验证,但不会以用户身份启动闪亮的应用程序。此功能仅适用于专业版。

使用免费的Shiny Server

,这些情况是不可能的
  • 用户登录,应用程序使用登录身份
  • 对安全数据库执行查询
  • 用户登录并且应用程序识别它们 - 免费Shiny Server已在用户帐户下运行,所有用户共享该空间。
  • 用户登录并拥有自己的私有执行环境(如果您有数千个并发用户,您可能会遇到可能会暴露其他用户正在查看的内容的可变冲突)

答案 2 :(得分:0)

使用Shiny-Pro,您可以启用身份验证。然后,服务器通过变量session$user提供有关用户名的应用程序信息。

在基本版本中,Shiny-Pro可以处理20个并发用户,但您可以购买扩展程序,以便最多可以处理120到150个并发用户。