Jac*_*ong 6 masstransit asp.net-core-2.0
我刚刚在我的项目 .Net core2.0 中使用了 MassTransit。这很好,但有一些问题:
发布与发送之间是不同的。在我的场景中,我有一个电子邮件服务可以向外部发送电子邮件。其他服务将通过 RabbitMQ 将请求传递给电子邮件服务。因此,在这种情况下,我们应该使用“发布”或“发送”。
使用发送,我们需要传递端点的完整 URL。有管理端点的最佳实践吗?因为如果我们有 10 个命令,我们需要管理 10 个端点。这样对吗?
与事件(发布)相关,如果一个服务部署在多个实例上,当一个事件发布到队列时。它将在每个实例上处理一次或多次处理。
你能分享给我一个针对消费者的单元测试吗?因为使用线束测试,似乎我们只是确保消息已排队。
Masstransit 准备好迎接 .Net Core 2.1 了吗?
非常感谢,
老实说,一篇文章的问题太多了,所以最好一一提出更具体的问题。你的一些问题已经有答案了。
发布事件和发送命令之间的区别与您所期望的类似。我们实际上在文档中介绍了其中的一些内容。
您可以在一个接收端点中处理任意数量的消息类型,但您需要了解后果。最佳实践是为每种命令类型提供一个端点,或者至少为相关命令提供一个端点。这里的风险是重要的命令可能会卡在队列中等待,直到处理其他不太重要的命令。
如果您发布事件,每个端点(队列)都会获得它的副本。如果一个端点有多个实例,则只有其中一个实例能够获取该端点。它对于发送命令也有效,但只有一个端点收到消息,并且只有一个实例会处理该消息。
虽然目前还没有 MT 测试的文档,但您可以查看此测试以了解它是如何完成的。
MassTransit 是针对 .NET 4.6 和 .NET Standard 2.0 编译的。.NET Core 2.1 中没有任何具体不同会对 MassTransit 产生任何影响。
| 归档时间: |
|
| 查看次数: |
4574 次 |
| 最近记录: |