cha*_*uru 3 architecture cloud saas software-design multi-tenant
我一直在阅读有关多租户的文章。像下面这样的非常琐碎的陈述。我已经阅读了数十个链接和网站,但都非常抽象。
..其中单个软件实例在服务器上运行并为多个租户提供服务。
我很容易从 30000 英尺以上理解它,但我无法理解它的实现方式。
如果有人可以通过单个堆栈(只是技术)和一个示例(可能是 Salesforce)帮助我理解我如何实现它,我会更满意,因为我几乎几天就迫不及待地想知道它了。
请不要张贴维基百科或任何网站的链接。我已经阅读了其中的大部分内容,但狩猎仍在继续!
我知道这是一个非常微不足道的问题,但请不要因为很少有充分理由而拒绝投票,因为您可能会从这个问题中读到一些新答案!
通过多租户,多个安装可以由同一个应用程序提供服务。假设您有一个应用程序,用于组织客户拥有的产品库存,并且您将其出售给两个不同的客户:tenant1 和tenant2。通过多租户,您的应用程序可以在单个服务器上的某个地方运行,并且仍然可以被您的两个客户访问。
目标是分离数据,以便租户 1 不知道租户 2。通常可以在数据库级别实现多租户。您有以下选择:
数据存储在同一个表中,但分离发生在一个额外的列(所谓的鉴别器列)中:
SELECT * FROM products WHERE tenant_id = 1;
Run Code Online (Sandbox Code Playgroud)数据存储在同一个数据库服务器上,但存储在不同的模式中。在应用程序获取结果之前,它需要选择适当的模式:
USE tenant_1;
SELECT * FROM products;
Run Code Online (Sandbox Code Playgroud)数据存储在不同的数据库服务器上。对于每个租户,需要保留一个连接池。
| 归档时间: |
|
| 查看次数: |
828 次 |
| 最近记录: |