请注意,当我说“客户”时,我指的是已注册该服务的企业或组织。
我正在创建一个错误跟踪应用程序。我决定对应用程序实例和数据库都采用多租户方法。
因此,有一个巨大的错误表,其中包含来自所有客户端的条目。错误 ID 是一种身份规范。因此,当任何客户端下的任何用户添加错误时,它都会增加。对于只添加了 3 个任务的客户端,任务 ID 可能是 #45、#49、#53,因为其他客户端的用户可能在两者之间添加了一些!
从用例的角度来看,这是否可以接受?
有时,客户可能会将最新的错误 ID 作为错误数量的粗略衡量标准。但实际上这将是系统中的全部错误。或者,如果他们的第一个错误是从 #51134 开始的,他们会感到非常惊讶!
另一方面,如果我在“幕后”有这个特定的 ID,并分别为每个客户计算一个“可见的”ID,他们将按顺序看到这些数字。但是,当在 URL 中将参考错误 ID 作为参数传递时,我不能使用用户可见的 ID,因为它不是唯一的。我不认为 ClientID - BugID 组合会很优雅。恐怕使用原始标识规范值会引起混淆,因为用户会在 UI 中看到一个 ID,而在 URL 中看到另一个 ID。无需说开发人员会尝试通过更改 ID 来使用 URL 并观察它失败。
我该如何解决这个问题?我不想采用多数据库方法,因为我有点害怕维护和升级过程。