多租户可伸缩性的模式



我正在寻找一些有关软件体系结构中的模式和最佳实践的资源,这需要以下意义:

  • 多个用户基础与应用程序的自定义配置(定制品牌和功能集(相互作用。

在几个应用程序服务用户体验不同阶段的环境中。

我真的在这里寻找一般原则,例如站立,自动化,工具和配置的方法,与扩展到其他用户群/迭代有关。

有几种观点需要讨论,因为您的问题在非常广泛的意义上

  1. 自定义配置

1.1用户

如果您计划允许用户自定义应用程序,则必须以每个用户的基础进行维护,并且如果一个用户可以访问不同的公司(多租户的租户(,则您将还必须由租户和用户组合隔离数据

用户有各种级别,例如用户打开和关闭功能的翻转开关,甚至可以在用户级别上许可产品。前者将仅需要基于用户的酌处权。但是,后一个可能需要一个工作流,例如模型,用户可以从他的管理员那里提出对功能的请求,并且管理员批准相同,然后用户可以访问新请求的功能

1.2租赁

在基于租赁的自定义模型的情况下,将有多个级别,例如拥有公司[租户]订阅访问各种应用程序功能的计划。

此外,租户将不得不配置公司工作区,例如提供信用卡详细信息以付款,对公司特定电子邮件的电子邮件配置等。这还涉及开/关开关的翻转,从而使功能更加正常动态

  1. 关于您计划的几个应用程序,它们确实需要SSO以及整个应用程序中配置和公司特定数据的流程。可以有一些公司[租户]特定数据库,需要存储和维护Azure shard地图或类似图表

  2. 有一个代码库缩放,可以像Azure这样的PAAS提供商按需配置。但是,需要以一种方式开发应用程序,以便它可以支持数据库分区和扩展。这将考虑到数据隔离等因素。

有各种PAAS提供商需要根据您的外观和未来/预测的用户群来确定,然后可以选择和选择相同的情况。

Microsoft有一些不错的文章,可用于以下

https://msdn.microsoft.com/en-us/library/aa479086.aspx

https://msdn.microsoft.com/en-us/library/dd430340.aspx

侧边栏也有许多链接,可以帮助您学习更多并选择方法。

hth

最新更新