我想揭露以下一般问题:
我有大量(数百万)资源(我们也称它们为对象)。
由于其数量,多样性和其他业务规则,我需要创建组。这些组可以有不同的来源:地理位置,对象类型,操作等。
这些组可以具有树结构,因此组可以从父组“继承”成员。此外,我可以通过指定具有两个现有组的集合操作来计算组。
这种要求会让我想到一个特定的服务或业务组件来处理分组问题。
我遇到的主要问题是“分组”在很多层面上浸透了系统的其他部分。
我会试着解释一下。还有其他服务允许对这些资源和/或资源组执行操作。例如,我有一个管理服务来处理资源生命周期(新的或删除的资源)。另一项服务负责资源的特定动态状态(即:由于某些环境事件,资源是否可用)。另一个处理另一个动态状态,它在命令上改变。这些对象产生(大量)数据,然后由数据管理服务等处理。
由于以下几个原因,这些特定服务需要了解分组,例如:
我想使用CQRS方法并避免查询“分组服务”,但后来我也看到其他服务可能变得太复杂。
解决此问题的最佳方法是什么?这种“分组服务”是否应该被视为一个贯穿各领域的问题?如果是这样,这将如何适应NServiceBus?
提前致谢!