4
|
Robert VukoviÄ · 技术社区 · 14 年前 |
![]() |
1
8
如果您希望在其中一个回复中获得更多详细信息或对MT有其他问题,您可以加入我们的邮件列表: http://groups.google.com/group/masstransit-discuss . |
![]() |
2
8
在实现这种体系结构时,您应该考虑应用CQR的原则——查询(此用户/PWD组合是否有效)不应通过总线完成;命令(change pwd,forgot pwd)通过总线发送,而不是作为事件发布。在内部,您可能会使用事件来保持命令和查询端的同步,但这并不涉及客户机。 可以使用简单的ADO.NET对数据库的复制读从服务器进行查询,这在CQR中被称为持久视图模型。如果你喜欢,你也可以在前面放一些简单的wcf。 使用msmq时,所有消息都通过存储和转发传递。这意味着它们首先存储在客户机上,然后再被传递到服务器上,因此如果服务器关闭,消息就位于客户机上等待。对于容错,您希望消息可以恢复(写入磁盘)-这是NServiceBus中的默认值,但不是标准msmq的默认值(不知道MassTransit)。你不需要这个数据库。 在NserviceBus中,总线没有安装在单独的机器上,因此您不需要独立于系统的其余部分来处理它的可用性。只有当您考虑将我们的命令处理扩展到更多节点时,才可以考虑在nservicebus(称为分发服务器)中使用基于消息的负载均衡器,为了获得高可用性,它应该安装在集群或容错硬件上。 |