【发布时间】:2022-01-20 08:59:17
【问题描述】:
我目前正在开发一个多租户系统,并且我已经实现了混合流,它允许每个客户使用单个数据库和基于请求的共享数据库,
但是,某些客户想要一些定制,因为他们的流程略有不同,但我只有一个跨系统的用户流。
如何在不影响系统上其他客户的情况下为客户实施此自定义?
请看我目前的架构
编辑:定制主要与用户旅程相关,例如 一个工资单系统,客户 A 想将工资单发送给 MD 批准,而客户 B 想在 MD 之前让会计批准。
【问题讨论】:
-
这在很大程度上取决于定制的类型。如果只是基本逻辑,比如重定向到哪些页面,那么很容易将其存储在针对每个客户的共享数据库中。如果您开始谈论视图更改或 js/css 更改,它可能会变得相当复杂,您可能需要考虑拥有一个骨架站点,该站点会在需要定制时为个别客户更新并复制,否则每次您进行更改时一个新客户,您可能很容易破坏另一个客户的旅程。
-
感谢您的意见,我已编辑问题以提供更好的上下文。
-
我们不知道您的“工资”、“批准”和“角色”(MD、会计师……)是什么样的,因此我们无法对此发表评论。我将其称为“工作流程”而不是“用户旅程”,您可以将工作流程配置完美地存储在数据库表中,而无需为每个客户定制架构。
标签: c# asp.net-core .net-core multi-tenant