我正在开始构建SaaS解决方案。要求是:
因此,我认为我应该使用微服务和每个租户数据库。我现在正试图找出如何设计数据库。
我首先想到的是,如果我有10个服务和15个租户,那么我有150个数据库,因为每个服务都应该有自己的数据库,每个租户也应该有自己的数据库。
这是一种有效的方法还是应该采用其他设计?另外,如何将连接从服务路由到正确的租户数据库?
答案 0 :(得分:1)
是的,这是正确的方法。
使用URL中的子域将流量路由到正确的门户网站服务,例如:https://tenantN.domain.tld
您可能也已经想到了这一点,但是要设置访问控制,以使经过一个租户身份验证的某人无法通过猜测FQDN或使用暴力生成FQDN的恶意人来访问另一租户的服务。