我陷入了困境。
我正在开发一个强大的系统,它被分成多个微服务。
我目前正在开发的一个简单的实时聊天。
但是,我认为自己无所作为 - 试图分析并获得最佳结果。
我有以下实体:
Channel
和User
。 Channel
有很多Users
,可以通过Channel.AddUser
添加并存储在Channel.Users
中。 Channel.Users
将always包含与该Users
相关的所有Channel
。 Channels
和关联的 Users
仍然存在,这是完全可以实现的内存。 Channel
的情况下加载我的 Users
或仅使用其中的前 10 个等等 - 这可以影响诸如:验证、业务逻辑等。
如何处理这个问题 - 围绕特定“应用程序”(一般意义上,而不是分层)构建域是唯一的方法吗?
如何处理这个问题 - 围绕特定“应用程序”(一般意义上,而不是分层)构建域是唯一的方法吗?
仔细思考系统中真正的边界应该在哪里。
您通常需要深入考虑“频道有用户”是否是对两个实体之间的关系进行建模的最佳方式。
可能性包括:
用另一种方式表达:并非所有通过特定通道标识符访问的信息都一定是同一“聚合”的一部分。如果您正在考虑“延迟加载”信息,这通常表明存在(或至少存在)改进数据分区的机会。
与进行更改时一起使用哪些信息相比,用于访问信息的密钥不太重要。