Architecture 如何实现多租户?

Architecture 如何实现多租户?,architecture,cloud,multi-tenant,Architecture,Cloud,Multi Tenant,我是云计算新手。在学习基本概念的同时,如何设计一个软件(SaaS)的单个实例可以被多个用户同时使用的系统 我理解多租户的含义,但无法理解如何设计或如何实现这一点。i、 如果我已经用java编写了一个简单的程序(假设),并且我想让它成为多租户,那么需要做哪些更改和/或配置 谢谢。多租户是一个相当宽泛的术语 最简单地说,你需要注意 为用户创建帐户并确保用户只能看到自己的数据 创建组/帐户的概念。一个帐户有多个用户。帐户中有人是管理员等 确保一组用户的活动不会影响另一组用户。e、 g.一个用户不能独占

我是云计算新手。在学习基本概念的同时,如何设计一个软件(SaaS)的单个实例可以被多个用户同时使用的系统

我理解多租户的含义,但无法理解如何设计或如何实现这一点。i、 如果我已经用java编写了一个简单的程序(假设),并且我想让它成为多租户,那么需要做哪些更改和/或配置


谢谢。

多租户是一个相当宽泛的术语

最简单地说,你需要注意

  • 为用户创建帐户并确保用户只能看到自己的数据
  • 创建组/帐户的概念。一个帐户有多个用户。帐户中有人是管理员等
  • 确保一组用户的活动不会影响另一组用户。e、 g.一个用户不能独占应用程序可用的所有资源。这取决于你的情况。比如说一个视频流网站;您将控件放置到位,以便一个用户不会启动1000个流,从而影响其他用户的服务
    正如您在上面看到的,上面的大部分内容并不限于多租户

    多租户是一个相当宽泛的术语

    最简单地说,你需要注意

  • 为用户创建帐户并确保用户只能看到自己的数据
  • 创建组/帐户的概念。一个帐户有多个用户。帐户中有人是管理员等
  • 确保一组用户的活动不会影响另一组用户。e、 g.一个用户不能独占应用程序可用的所有资源。这取决于你的情况。比如说一个视频流网站;您将控件放置到位,以便一个用户不会启动1000个流,从而影响其他用户的服务
    正如您在上面看到的,上面的大部分内容并不限于多租户

    根据我创建/迁移应用程序以实现多租户感知的经验,以下是通常遵循的步骤。我们可以考虑CRM [客户模块] < /P>的转换。 数据库更改

    • 为每个核心业务数据表[客户、票据、支持、联系人等]添加租户id
    • 将现有公司数据分组到不同的客户中,这是一项有点痛苦的任务,但可以通过将现有客户映射为 然后在core中执行相应的tenantid更新 桌子
    • 如有需要,分区(如租户1)可能属于分区1【美国】,新加坡的一些其他租户可能被放入分区1中 亚洲,将进行设置并移动数据
    • 每个客户的自定义设置数据将分组为租户的自定义设置并存储在核心元数据数据库中。这还包括 还有白色标签的东西
    • 特定于客户的自定义字段或扩展数据应存储在具有适当租户id值的数据库中
    应用程序更改

    • 在登录之前和之后、登录之前为租户建立上下文,以标识租户希望其用户使用的模式 登录[一个租户想要广告,另一个可能需要谷歌等…]
    • 始终使用截取每个查询并确保租户数据完整性的基本筛选器隔离访问的数据
    • 管理每个租户的各种数据分区
    • 设置代码以容纳存储在数据库中的白色标签内容
    • 在服务中进行更改,以确保服务包含在任何时候调用的自定义特定业务规则/逻辑 必需的
    您想要的功能越复杂,我们将有更多的讨论。请分享您想要关注的任何特定功能,以便详细讨论


    HTH

    根据我创建/迁移应用程序以实现多租户感知的经验,以下是通常遵循的步骤。我们可以考虑CRM [客户模块] < /P>的转换。 数据库更改

    • 为每个核心业务数据表[客户、票据、支持、联系人等]添加租户id
    • 将现有公司数据分组到不同的客户中,这是一项有点痛苦的任务,但可以通过将现有客户映射为 然后在core中执行相应的tenantid更新 桌子
    • 如有需要,分区(如租户1)可能属于分区1【美国】,新加坡的一些其他租户可能被放入分区1中 亚洲,将进行设置并移动数据
    • 每个客户的自定义设置数据将分组为租户的自定义设置并存储在核心元数据数据库中。这还包括 还有白色标签的东西
    • 特定于客户的自定义字段或扩展数据应存储在具有适当租户id值的数据库中
    应用程序更改

    • 在登录之前和之后、登录之前为租户建立上下文,以标识租户希望其用户使用的模式 登录[一个租户想要广告,另一个可能需要谷歌等…]
    • 始终使用截取每个查询并确保租户数据完整性的基本筛选器隔离访问的数据
    • 管理每个租户的各种数据分区
    • 设置代码以容纳存储在数据库中的白色标签内容
    • 在服务中进行更改,以确保服务包含在任何时候调用的自定义特定业务规则/逻辑 必需的
    您想要的功能越复杂,我们将有更多的讨论。请分享任何规格