多租户可扩展性模式
Patterns of multi-tenant scalability
我正在寻找一些关于软件架构可扩展性模式和最佳实践的资源,这在以下意义上需要多租户:
- 多个用户群与应用程序的自定义配置(定制品牌和功能集)迭代交互。
在多个应用程序为用户体验的不同阶段提供服务的环境中。
我真的在这里寻找一般原则,例如站立、自动化、工具和配置的方法,因为它们与扩展到其他用户有关 bases/iterations。
你的问题很宽泛,有几个观点可以讨论
- 自定义配置
1.1 基于用户
如果您打算允许用户自定义配置应用程序,则必须基于每个用户维护它们,并且如果一个用户可以访问不同的公司[多租户中的租户],您还必须按租户和用户组合隔离数据
有多种级别,例如用户翻转开关打开和关闭功能,甚至在用户级别许可产品。前者仅需要基于用户的自由裁量权。然而,后者可能需要一个像模型这样的工作流程,用户可以从他的管理员那里提出对某项功能的请求,管理员批准该请求,然后用户可以访问新请求的功能
1.2 基于租赁
在基于租户的定制模型的情况下,将有多个级别,例如让公司 [租户] 订阅计划以获得对各种应用程序功能的访问权限。
此外,租户必须配置公司工作区,例如提供用于付款的信用卡详细信息、公司特定电子邮件的电子邮件配置等。这还涉及打开/关闭开关的翻转,从而实现功能工作更有活力
关于您计划的几个应用程序,它们确实需要 SSO 以及跨应用程序的配置和公司特定数据流。可以有需要存储和维护的公司[租户]特定数据库,可以使用 Azure Shard Map 或类似数据库
有一个代码库扩展,可以由您的 PaaS 提供商(如 Azure)按需配置。但是,应用程序需要以一种方式开发,以便它可以支持数据库分区和缩放。这必须考虑数据隔离等因素
有多种 PaaS 提供商需要根据您现有和未来/预测的用户群来决定,然后可以决定和选择相同的提供商。
Microsoft 在下面给出了一些关于多租户的不错的文章
https://msdn.microsoft.com/en-us/library/aa479086.aspx
https://msdn.microsoft.com/en-us/library/dd430340.aspx
侧边栏还有大量链接,可帮助您了解更多信息和选择方法。
HTH
我正在寻找一些关于软件架构可扩展性模式和最佳实践的资源,这在以下意义上需要多租户:
- 多个用户群与应用程序的自定义配置(定制品牌和功能集)迭代交互。
在多个应用程序为用户体验的不同阶段提供服务的环境中。
我真的在这里寻找一般原则,例如站立、自动化、工具和配置的方法,因为它们与扩展到其他用户有关 bases/iterations。
你的问题很宽泛,有几个观点可以讨论
- 自定义配置
1.1 基于用户
如果您打算允许用户自定义配置应用程序,则必须基于每个用户维护它们,并且如果一个用户可以访问不同的公司[多租户中的租户],您还必须按租户和用户组合隔离数据
有多种级别,例如用户翻转开关打开和关闭功能,甚至在用户级别许可产品。前者仅需要基于用户的自由裁量权。然而,后者可能需要一个像模型这样的工作流程,用户可以从他的管理员那里提出对某项功能的请求,管理员批准该请求,然后用户可以访问新请求的功能
1.2 基于租赁
在基于租户的定制模型的情况下,将有多个级别,例如让公司 [租户] 订阅计划以获得对各种应用程序功能的访问权限。
此外,租户必须配置公司工作区,例如提供用于付款的信用卡详细信息、公司特定电子邮件的电子邮件配置等。这还涉及打开/关闭开关的翻转,从而实现功能工作更有活力
关于您计划的几个应用程序,它们确实需要 SSO 以及跨应用程序的配置和公司特定数据流。可以有需要存储和维护的公司[租户]特定数据库,可以使用 Azure Shard Map 或类似数据库
有一个代码库扩展,可以由您的 PaaS 提供商(如 Azure)按需配置。但是,应用程序需要以一种方式开发,以便它可以支持数据库分区和缩放。这必须考虑数据隔离等因素
有多种 PaaS 提供商需要根据您现有和未来/预测的用户群来决定,然后可以决定和选择相同的提供商。
Microsoft 在下面给出了一些关于多租户的不错的文章
https://msdn.microsoft.com/en-us/library/aa479086.aspx
https://msdn.microsoft.com/en-us/library/dd430340.aspx
侧边栏还有大量链接,可帮助您了解更多信息和选择方法。
HTH