SaaS和微服务的数据库模式

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

我正处于构建SaaS解决方案的最初阶段。要求是:

  1. 所有客户都必须使用相同版本的应用。
  2. 必须隔离来自不同客户的数据。

所以,我认为我应该使用微服务和每个租户数据库。我现在正试图找出如何设计数据库。

我的第一个想法是,如果我有10个服务和15个租户,那么我有150个数据库,因为每个服务应该有自己的数据库,每个租户也应该有自己的数据库。

这是一种有效的方法还是应该采用其他设计?另外,我该怎么做才能将连接从服务路由到正确的租户数据库?

microservices saas
1个回答
1
投票

是的:这是正确的方法。

使用URL中的子域将流量路由到正确的门户服务,如下所示:https://tenantN.domain.tld

您可能也想到了这一点,但设置了访问控制,以便为一个租户进行身份验证的人无法通过猜测FQDN或使用暴力生成FQDN的恶意用户来访问其他租户的服务。

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