如何为Spring云数据流实现多租户数据库

问题描述 投票:1回答:1

我们希望为SCDF实施多租户解决方案,每个租户可以拥有唯一的任务定义/等。理想情况下,我们只需要一个SCDF服务器(而不是为每个租户设置一个SCDF服务器),如图所示:multi-tenant SCDF

这是可能的,还是在租户之间实现数据隔离以获得单独的数据流服务器实例的唯一方法?

spring spring-cloud-dataflow spring-cloud-task
1个回答
1
投票

你今天在这里尝试的是不可能的。您必须为每个租户提供SCDF。在Kubernetes或Cloud Foundry等云平台中,建议使用它,因为您可以分别通过“命名空间”和“组织/空间”隔离来访问控制租户。在此基础上,平台通过RBAC分配为租户中的每个用户提供更强大的分离。

关于我们为什么今天这样做的更多背景知识。在Dashboard和其他客户端工具与相同数据源交互的意义上,SCDF和任务/作业存储库是耦合的,以提供一致的UX来集中监视和管理数据管道。随着最近对Task的多平台后端支持,您仍然希望在当前设计中使用通用数据源。

总而言之,我们正在寻求改进以允许用户拥有一个带有前缀为标识符的模式的数据库[请参阅:spring-cloud/spring-cloud-dataflow#2048]。有了这个,就可以通过特定于标识符的任务/作业执行进行过滤,并同样将它们作为单个SCDF实例中的独立操作单元进行跟踪。

但是,它可能无法扩展到云部署。每个租户隔离边界(例如,Kubernetes中的“命名空间”)需要具有足够的资源(cpu /内存/磁盘)来处理任务/批处理应用的“多个”租户部署。如果不自动调整资源容量,则会出现部署失败。

也许你可以帮助更详细地描述你的要求,所以我们可以说明为什么它仍然有用。还请分享您将如何在底层部署平台中设计资源分配 - 随意在#2048中发表评论。

© www.soinside.com 2019 - 2024. All rights reserved.