我是使用消息代理的初学者.
我们有一个票务服务,有多个子服务.主管服务在Web API的帮助下获取请求,并将它们发送到子服务.
任何请求都有一个标头,用于检测命令类型(例如保留,退款,可用性等).我们使用json来序列化对象.
现在,如何通过MassTransit从发布者(如我们的主管系统)发送各种消息类型(不同的对象),消费者可以轻松地使用它?
通常,是否可以在MassTransit和rabbitMQ中发送各种消息类型?
每个消费者只有一个队列来处理收到的消息.
谢谢
更新
https://dotnetcodr.com/2016/08/02/messaging-with-rabbitmq-and-net-review-part-1-foundations-and-terminology/
我读过这篇帖子适合开始使用MassTransit进行消息传递,并没有看到在这些和其他资源上使用各种消息类型的任何示例:
我有多个命令,需要各种消息类型与它们一起发送,但在示例中只使用消息类型,如下所示:
寄件人
private static void RunMassTransitPublisherWithRabbit()
{
string rabbitMqAddress = "rabbitmq://localhost:5672/Ticket";
string rabbitMqQueue = "mycompany.domains.queues";
Uri rabbitMqRootUri = new Uri(rabbitMqAddress);
IBusControl rabbitBusControl = Bus.Factory.CreateUsingRabbitMq(rabbit =>
{
rabbit.Host(rabbitMqRootUri, settings =>
{
settings.Password("Kalcho^Milano");
settings.Username("ticketadmin");
});
});
Task<ISendEndpoint> sendEndpointTask = rabbitBusControl.GetSendEndpoint(new Uri(string.Concat(rabbitMqAddress, "/", rabbitMqQueue)));
ISendEndpoint sendEndpoint = sendEndpointTask.Result;
Task sendTask = sendEndpoint.Send<IRegisterCustomer>(new
{
Address = "New Street",
Id = Guid.NewGuid(),
Preferred = true,
RegisteredUtc = DateTime.UtcNow,
Name = "Nice people LTD",
Type …Run Code Online (Sandbox Code Playgroud)