什么是多租户及其实现方式?
What is multi tenancy and ways to achive it?
我已经阅读有关多租户的内容有一段时间了。使用如下非常琐碎的语句。我已经阅读了数十个链接和站点,但都非常抽象。
..In which a single instance of software runs on a server and serves
multiple tenants.
我很乐意从 30000 英尺以上的高度理解它,但我无法理解它的实现方式。
如果有人可以通过一个堆栈(只是技术性的)和一个例子(可能是 Salesforce)帮助我理解我如何实现它,我会更满意,因为我很想知道它,因为快几天了。
请不要 post 维基百科或任何网站的链接。我已经阅读了大部分内容,但狩猎仍在继续!
我知道这是一个非常微不足道的问题,但请不要因为很少的充分理由而投反对票,因为您可能会从这个问题中读到一些新的答案!
这只是您有多个客户使用同一个应用程序的想法。大多数网站都是多租户的。他们有多个客户使用相同的安装。这意味着您必须执行限制视图等操作,以便客户只能看到属于 his/her 组织的记录。
通常通过在所有表中放置客户 ID 之类的内容来实现,并确保始终按该客户 ID 过滤查询。
通过多租户,多个安装可以由同一个应用程序提供服务。假设您有一个用于组织客户所拥有产品库存的应用程序,并且您要将其销售给两个不同的客户:租户 1 和租户 2。通过多租户,您的应用程序可以 运行 在单个服务器上的某个地方,并且仍然可以被您的两个客户访问。
目标是分离数据,让tenant1不知道tenant2。通常可以在数据库级别实现多租户。您有以下选择:
数据存储在同一个 table 但分离发生在一个额外的列(所谓的鉴别器列):
SELECT * FROM products WHERE tenant_id = 1;
数据存储在同一个数据库服务器上,但在不同的架构中。在应用程序获取结果之前,它需要 select 适当的架构:
USE tenant_1;
SELECT * FROM products;
数据存储在不同的数据库服务器上。需要为每个租户保留一个连接池。
我已经阅读有关多租户的内容有一段时间了。使用如下非常琐碎的语句。我已经阅读了数十个链接和站点,但都非常抽象。
..In which a single instance of software runs on a server and serves multiple tenants.
我很乐意从 30000 英尺以上的高度理解它,但我无法理解它的实现方式。
如果有人可以通过一个堆栈(只是技术性的)和一个例子(可能是 Salesforce)帮助我理解我如何实现它,我会更满意,因为我很想知道它,因为快几天了。
请不要 post 维基百科或任何网站的链接。我已经阅读了大部分内容,但狩猎仍在继续!
我知道这是一个非常微不足道的问题,但请不要因为很少的充分理由而投反对票,因为您可能会从这个问题中读到一些新的答案!
这只是您有多个客户使用同一个应用程序的想法。大多数网站都是多租户的。他们有多个客户使用相同的安装。这意味着您必须执行限制视图等操作,以便客户只能看到属于 his/her 组织的记录。
通常通过在所有表中放置客户 ID 之类的内容来实现,并确保始终按该客户 ID 过滤查询。
通过多租户,多个安装可以由同一个应用程序提供服务。假设您有一个用于组织客户所拥有产品库存的应用程序,并且您要将其销售给两个不同的客户:租户 1 和租户 2。通过多租户,您的应用程序可以 运行 在单个服务器上的某个地方,并且仍然可以被您的两个客户访问。
目标是分离数据,让tenant1不知道tenant2。通常可以在数据库级别实现多租户。您有以下选择:
数据存储在同一个 table 但分离发生在一个额外的列(所谓的鉴别器列):
SELECT * FROM products WHERE tenant_id = 1;
数据存储在同一个数据库服务器上,但在不同的架构中。在应用程序获取结果之前,它需要 select 适当的架构:
USE tenant_1; SELECT * FROM products;
数据存储在不同的数据库服务器上。需要为每个租户保留一个连接池。