当前位置: 首页 > 知识库问答 >
问题:

使用 Keycloak 的大规模多租户方案

宰父正真
2023-03-14

我正在尝试了解如何在大规模多租户方案中使用 Keycloak。

标准方法似乎是为每个租户使用一个领域。这隔离了每个租户的用户和设置,并且很有意义。

在多租户的Keycloak示例中,它说它“演示了Keycloak多租户支持的最简单方案”(强调我的)。我可能对此解读得太多了,但对我来说,这意味着还有其他标准方法。不过,我还没有找到太多关于这些选项的讨论。

我还读到,超过 100 个领域可能存在性能问题。可能是这些性能问题已修复,但这也向我表明 Keycloak 无法处理具有 1,000 个租户的大规模多租户方案。

所以我的问题是:

    除了
  • “每个租户一个领域”之外,是否有任何其他建议的多租户方法?
  • Keycloak 在野外是否有任何大规模的多租户部署来证明它有能力应对许多领域?
  • 对于我应该查看的信息来源,有什么建议吗?

共有1个答案

慕震博
2023-03-14

到目前为止(Keycloak 18 正在发布),100 个领域的性能问题仍然存在。但在现实世界中,这根本不是问题。

只需将租户拆分为多个 Keycloak 群集即可。我的情况是您需要集成您的领域,这可以通过跨集群的联合独立于特定集群/实例完成,因此无需在单个集群上运行所有内容。

从操作的角度来看 - 在单个集群上拥有如此大量的租户/领域也是次优的 - 因为您很难组织维护和停机时间。因此,将事情分开一点并不是最糟糕的事情。

 类似资料:
  • 我已经安装了keycloak-angular包,我使用它的方式如下:https://www.npmjs.com/package/keycloak-angular 问题是,在我的应用程序中,我希望有多租户。这意味着在应用程序加载期间不知道领域名。 在说明中,它说“KeycloakService应该在应用程序加载期间使用APP_INITIALIZER标记初始化”,问题是该领域是由用户给定的,在应用程序

  • 我正在使用spring 3.0开发一个多租户应用程序,需要根据租户将文件上传到FTP服务器或从FTP服务器下载文件。对于每个租户,我们在同一个FTP服务器中有不同的FTP位置。您能帮助我根据租户使用spring 3配置/更改FTP位置吗。?

  • 2019-03-20 18:34:28.251错误25640---[nio-8081-exec-1]O.A.C.C.C.[.[.[/].[dispatcherServlet]:servlet.Service()for servlet[dispatcherServlet]引发异常 2019-03-20 18:34:28.252错误25640---[nio-8081-exec-1]O.A.C.C.C.

  • 我正在构建一个应用程序,它应该服务于多个租户,并存储他们非常敏感的数据。每个租户都有多个用户。我的后端堆栈是用spring boot Hibernate5构建的。我希望hibernate处理多租户问题,所以我有两个问题要问专家: 如果我使用的是每租户模式范式,如何在登录时将用户名与租户关联?每个租户都有自己的用户表,那么我如何知道用户名属于哪个租户呢? 在注册时,什么是正确的方法来动态创建新模式?

  • 根据多租户数据架构的帖子,有3种方法可以实现多租户 > 独立数据库 共享数据库,独立模式 共享数据库,共享模式 我有以下细节: > 用户应该能够备份和恢复他们的数据。 租户数量: 3(约) 每个租户可能属于不同的域(url)。 这里有一些供所有租户共用的桌子。 每个租户中的表数: 10(初始) 我想知道哪种方法更适合我?

  • 我正在学习多租户应用程序,以及如何使用PostgreSQL的模式来实现这一点。 在研究这个主题时,我发现了一篇文章,作者描述了在多租户应用程序中使用PostgreSQL模式时的糟糕体验。主要问题是迁移性能差和数据库资源使用率高。 似乎只有一个模式(在租户之间共享表)会比每个租户有一个单独的模式带来更好的性能。但我觉得很奇怪。我的想法正好相反,因为较小表上的索引往往比较大表上的索引轻。 为什么在许多

  • 目前为止,我们已经让用户页面在多租户风格下工作。为使它工作,我们看起来并没有做太多的变化。但请记住,我们正在对一个原来不是多租户的系统作修改。 让我们在 Roles 表应用类似的原则。 再一次,一个租户的用户在不能查看或修改其他租户的角色,每个租户的用户是相互独立工作的。 我们先在 RoleRow.cs 添加 TenantId 属性: namespace MultiTenancy.Administ

  • 问题内容: 在Spring 3应用程序中,我试图通过Hibernate 4的本机MultiTenantConnectionProvider和CurrentTenantIdentifierResolver实现多租户。我发现在Hibernate 4.1.3 中存在此问题,但是我正在运行4.1.9并仍收到类似的异常: 以下是相关代码。在I中,我现在只写了一些简单的代码,每次都只返回一个新的连接,并且在这