5-EasyNetQ之Publish(黄亮翻译)
EasyNetQ支持的最简单的消息模式是发布/订阅.这个模式是一个极好的方法用来解耦消息提供者和消费者。消息发布者只要简单的对世界说,“这里有些事发生” 或者 “我现在有一个信息”。它不关心有没有人监听,或者接收者是谁,或者接收者在那里。我们能够添加和移除特定类型的消息的订阅者,不需发布者做任何的重新配置。我们也能够有多个发布者发布相同的消息,添加和删除发布者也不用其他的发布者或者订阅者做任何重新配置。
用EasyNetQ发布消息(假定你已经重建了一个IBus实例)
- 创建你自己的消息实例,可以是任何可序列化的 .NET 类型。
- 调用IBus上的Publish方法,并传入你的消息实例。
代码如下:
var message = new MyMessage{ Text = "Hello Rabbit" };
bus.Publish(message);
为确保消息投递成功,请看Publisher Confirms.
发布者和订阅者之间彼此是不知道对方的。发布者简单的对世界说“这儿有事情发生”,订阅者告诉世界“我关心这种事儿的发生”。在这个模型中
这是很好的,没有人关心特定的事件。可能有一个订阅者关心这个消息,也可能有200个,或者没有人关心它。发布者不应该关心EasyNetQ对这个消息模式的实现。假如你开始去发布消息,而没有任何订阅者曾经定义此消息,那么这个消息就简单的消失了。这是我们的设计意图。
英文地址:https://github.com/EasyNetQ/EasyNetQ/wiki/Publish
本文地址:http://www.cnblogs.com/HuangLiang/p/EasyNetQ_Publish.html
如果您喜欢本文,更多文章,欢迎订阅我的微信订阅号:open_dotNET