这一段代码隐蔽了浩瀚关于消息队列的细节,将我们的留意力集中在发送消息上,同时ServiceBus供给的API也更接近营业,我们固然发送的是一个消息,然则在这种场景下表现出来是一个敕令,Send(command)这一API描述了我们的意图。
3、办事端接收这一敕令
新建一个敕令台控制法度榜样:Masstransit.RabbitMQ.GreetingServer:
- var bus = BusCreator.CreateBus((cfg, host) =>
- {
- cfg.ReceiveEndpoint(host, RabbitMqConstants.GreetingQueue, e =>
- {
- e.Consumer<GreetingConsumer>();
- });
- });
这一代码可以懂得为办事端在监听消息,我们在办事端住册了一个名为“GreetingConsumer”的花费者,GreetingConsumer的定义:
该consumer可以花费类型为GreetingCommand的消息。这一实例几乎隐蔽了有关RabbitMQ的技巧细节,将代码中间放在了营业中,将这两个控制台应用跑起来尝尝:

五、实现Publish/Subscribe模式
- public class GreetingConsumer :IConsumer<GreetingCommand>
- {
- public async Task Consume(ConsumeContext<GreetingCommand> context)
- {
- await Console.Out.WriteLineAsync($"receive greeting commmand: {context.Message.Id},{context.Message.DateTime}");
- }
- }
宣布/订阅模式使得基于消息传递的软件架构成为可能,这一才能表示为ClientA发送消息X,ClientB和ClientC都可以订阅消息X。
1、我们在膳绫擎的例子中改革一下,当GreetingConsumer收到GreetingCommand后发送一个GreetingEvent:
- var greetingEvent = new GreetingEvent()
- {
- Id = context.Message.Id,
- DateTime = DateTime.Now
- };
- await context.Publish(greetingEvent);
2、新建控制台法度榜样Masstransit.RabbitMQ.GreetingEvent.SubscriberA用来订阅GreetingEvent消息:
推荐阅读
论文:Feature Pyramid Networks for Object Detection论文地址:https://arxiv.org/abs/1612.03144这里介绍的文┞仿是来自 Facebook 的特点金字塔收集 Feature Pyramid Networks(FPN)。F>>>详细阅读
本文标题:如何优雅的使用RabbitMQ
地址:http://www.17bianji.com/lsqh/36412.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示