提供的信息不足以提供真正有价值的答案,但您可以考虑以下几点:
- 在我看来,一个 VID 有多个 RID,但每个 RID 只有一个 VID。如果这是真的,对我来说将这种 1:M 关系存储在注册数据库中似乎更合理。
- 什么情况下需要VID后面的Validation schema信息?我的意思是说:
- 你有一个方法,它返回连接到特定 VID 的所有注册?
- 或者可能是,您有一个方法,返回用于特定注册的验证模式?
你看到区别了吗?为什么这个问题很重要?
最后,您可能会对本文感兴趣,尤其是第 4.4 章去中心化 -> 共享持久性。
您不共享相同的存储空间,但在我看来,您将其拆分得比需要的多,将注册和验证服务合并为一个可能是个好主意。当然,这是非常投机的说法。但是,如果您不确定我是否正确,请问问自己:
- 其他服务/客户是否使用验证服务?
- 验证服务是代表一个专门的业务单位/领域,还是只是其他单位流程的一部分?
诸如此类的事情。
最后:微服务世界不建议将数据放在哪里,但是当您决定将数据放在哪里以及您可能考虑的主要事项时,应该考虑什么:
- 您的服务应该自主部署并自主运行。
- 您的服务不应共享其存储空间(因为前一个)
- 您应该能够根据需要扩展单个服务,而无需触及其他服务(这就是我们需要自主部署和可操作性的原因)
- 粒度原则非常依赖于您的具体项目。当您决定“多少”时,您应该注意业务领域和维护所有其他原则的能力。
备注:上述原则绝不是详尽无遗的,但我希望所有这些都能为您完成工作提供一些指导。