我们真的需要一个24/7的进程来监听RabbitMQ队列中的消息吗?

时间:2015-10-04 15:18:18

标签: .net rabbitmq

我是RabbitMQ的新手,经历了一些教程。所有样本都是无限循环监听消息。就像套接字那样。我的问题是,为什么我们不能在一个文件夹中放置一个简单的.NET DLL,当一条消息到达我的dll时,RabbitMQ应该创建一个appdomain,添加该DLL,调用正确的方法并销毁appdomain?我们不能这样做吗?

1 个答案:

答案 0 :(得分:1)

RabbitMQ与.NET无关,因此RabbitmQ无法创建appdomain并在那里添加dll"。要从兔子服务接收消息,您需要以某种方式连接到它。之后,您必须保持该连接才能接收传入的消息。所以至少你已经用一些代码(例如官方的.NET客户端)连接到兔子服务,并且你有持久的连接。现在你收到了一条消息。当然你可以创建新的app域,在那里加载dll,在dll中调用一些方法并销毁app域,但你可以想象它是多么丑陋和低效。您已经拥有该消息并可以处理它,那么为什么要加载其他dll?更不用说兔子通常用于高速率的消息处理,并且您的方法会杀死所有性能(没有任何理由)。总而言之,您可以编写自己的.NET应用程序,它将按照您的描述进行操作,但这不是简单的"方式。