不同的客户要求在我们的多租户应用程序中进行自定义更改

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

我们最初为客户开发了一个电子商务应用程序,在大部分工作完成后,客户要求它是多租户的。我们实现了多租户功能,但当客户将应用程序出售给多个租户(每个租户都有独特的定制要求)时,挑战就出现了。在最初的开发过程中没有预料到租户的这些意想不到的个性化要求。

今天,客户告诉我们,每个租户都有独特且不同的要求。当我们与他们讨论这个问题时,他们建议为每个租户维护单独的代码库,这引起了对可扩展性和最佳实践的担忧。

我们目前不确定适当的行动方案。我们如何在可扩展的代码库中有效地实现每个客户的单独需求,而不需要维护多个分支?

为了说明这一点,请考虑这样一个场景:某列当前是唯一的数字,但 Tenant2 希望它成为整个平台上的非唯一字符串。我们如何在不损害代码库完整性的情况下满足此类定制需求?

architecture software-design
1个回答
0
投票

其中很多问题可以通过采用更动态的数据方法来解决。创建数据驱动的自定义字段,客户可以将其添加到应用程序中,而不必为每个字段提供“代码”,从而为它们提供可以提供很大灵活性的名称和数据类型。

您的模式变得更加复杂,因为您有任意字段列表,并且它的处理变得更加复杂,因为您必须关闭数据类型,而不是字段本身。但你可以获得很大的灵活性。

客户端的字段列表可以部署为属性文件,或者成为应用程序数据库/数据存储的一部分,以获得真正的动态体验。

如果它们确实需要独特的代码处理,那么您将处于一种混乱的情况,您将处理“主线”主干,并且每个部署都将是您必须合并到的子分支,并且保持最新,你的成本会增长得相当快。

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