React Redux - 多租户方法(Saas模型)

时间:2016-09-11 21:45:23

标签: reactjs redux multi-tenant react-redux

让我们说我们希望有一个应用程序实例和多个租户试图访问相同的功能,但也有一定程度的自定义,当然还有数据隔离。简而言之,基本SaaS模型。

租户可能会被子域/域和/或查询字符串识别。

所以主要问题(具体而言):

使用React + Redux实现多租户环境的常用方法是什么?

大声思考:

  1. 如何处理/构建Application Store。
  2. 如何处理租户特定配置
  3. 我是否需要在某处提供某种TenantContext。
  4. 如何确保适当的隔离水平并避免竞争条件?
  5. 开发它时还应该记住什么?
  6. 任何想法,想法,过去的经验,建议都受到高度赞赏。

    谢谢!

1 个答案:

答案 0 :(得分:1)

典型的Redux存储通常只反映持久性数据,并包含特定于应用程序的数据,例如哪个选项卡处于活动状态或该字段的值是什么。但是在持久数据的情况下,这是一个有趣的问题。我相信React和Redux根本就不是那个。但即便如此,有一个有趣的解决方案:Relaysubscriptions

Relay将您的组件连接到GraphQL数据源(通常是远程),然后您只需访问无缝注入组件的props和来自数据存储的给定值。通过订阅,数据存储中的任何更新都会通过应用程序和GraphQL服务器之间建立的订阅将其传递到连接的组件。

现在,您可以为多租户添加额外的层,并在较低级别的节点之间同步数据,与React完全无关。现在唯一的事情就是你需要听取每个更新并发送订阅更新,而且还没有很好的“单击”解决方案。

您可以看到this discussion以了解如何更新订阅。好的是,在客户端,应用程序将简单地对更新的道具作出反应,并使用新的道具重新渲染连接的组件。