SaaS和微服务的数据库模式

时间:2019-03-28 04:01:25

标签: microservices saas

我正在开始构建SaaS解决方案。要求是:

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

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

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

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

1 个答案:

答案 0 :(得分:1)

是的,这是正确的方法。

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

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