消息总线与分层

时间:2015-04-10 11:05:28

标签: message-queue servicebus event-driven

希望对我的架构提出一些建议

目前我使用了分层架构,但有些事情变得有点复杂,并且认为消息总线会更有用

我在TeamControler上有一个名为“CreateTeam”的控制器动作

TeamService方法CreateTeam会激发哪些内容,然后触发PlayerService方法“CreatePlayers”。

这意味着我的TeamController方法“CreateTeam”有两个任务

但是当用户创建团队时,我也需要创建玩家。

CreateTeam也会更好地发布一个在其他地方被选中的事件TeamCreated吗?给予单一责任并分离顾虑?

另外,我之前从未使用过消息总线模式,所以希望我不要混淆任何人,但是正确的事情是由公共汽车提起并且随后收听的任何事情都是正确的吗?那么这就是Tell不问?

最后,消息总线上的听众,他们可能是web api控制器吗?而不是许多单独的应用程序?所以我的CreatePlayers的PlayerController方法可能会在CreateTeamEvent被引发时被触发?

1 个答案:

答案 0 :(得分:0)

在您系统的某个地方,您必须嵌入知识(责任)来调用您的2个独立功能。 Servicebus可以用来做这个,但根据我的经验,这将是一个过于复杂和更难理解的解决方案。

我会坚持使用@S建议的图层(服务类)。宽松的。