我正在构建一个包含以下单独组件的多租户Web应用程序:
前端Web UI需要支持自定义用户主题。换句话说,用户可以创建自己的主题并将其上传到应用程序(通过管理门户),然后在呈现其前端Web UI时使用。
像Shopify这样的一个很好的例子 - 如果用户A和B访问他们的个人店面(即shopA.shopify.com
和shopB.shopify.com
),他们的商店将使用他们各自的自定义主题进行渲染。但是,两个店面仍然使用相同的核心API进行交互(据我所知)。
目前,我对高级架构有这样的想法:
在此示例中,核心API和管理UI可以作为单个实例托管,但每个租户都有自己的前端UI实例,以支持自定义主题。但是,如果可能的话,我真的想尽量避免使用单独的前端UI实例,因为我认为从可伸缩性的角度来看管理变得更加困难,并且可能会花费更多来托管。
我一直在探索以下替代方法:
问题:像Shopify等公司如何解决这个问题?