Masstransit - 发布与发送以及如何管理消息

Mastransit - publish vs send and how to manage message

我刚刚在我的项目.Net core2.0 中使用了MassTransit。很好,但有一些问题:

非常感谢,

There are way too many questions for one post tbh, on SO it is better to ask more specific questions, one by one. Some of your questions already have answers on SO.

发布事件和发送命令的区别和你想象的差不多。我们实际上在 documentation.

中介绍了其中的一些内容

您可以在一个接收端点中处理任意数量的消息类型,但您需要了解后果。最佳做法是为每种命令类型设置一个端点,或者为相关命令设置至少一个端点。这里的风险是一个重要的命令可能会卡在队列中等待,直到处理其他不太重要的命令。

如果您发布事件,每个端点(队列)都会得到一份它的副本。如果您有一个端点的多个实例,那么只有其中一个实例会得到它。它也适用于发送命令,但只有一个端点会收到一条消息,并且只有一个实例会处理它。

虽然目前还没有 MT 测试的文档,但您可以查看 this test 了解它是如何完成的。

MassTransit 是为 .NET 4.6 和 .NET Standard 2.0 编译的。 .NET Core 2.1 中没有对 MassTransit 有任何影响的特别不同。