消息代理消费者/生产者在客户端关闭时重新分配?

时间:2011-09-21 15:17:33

标签: c# .net message-queue

我正在寻找一个消息代理API来与c#一起使用。

通常情况很简单。我有一台服务器知道要做什么工作,我有一些客户需要这些工作。

以下是我的特殊要求:

  • 如果客户找到工作但未能在特定时间内回答,则另一位客户应该开展工作。
  • 多个队列和优先级
  • 如果可能的话,它需要使用大消息队列(这样我有时可以一个月加载所有作业而忘记它)
  • 安全通信会很好。
  • 用于与c#中的代理交谈的API。做了多少工作?还有什么事要做? 删除一些工作......
  • 如果可以复制到另一个经纪商那么好。
  • 经纪人需要在Windows上运行

什么不是问题:

  • 低延迟(当消息需要几分钟时没有问题)

您知道可以免费使用这样的消息代理吗?

1 个答案:

答案 0 :(得分:1)

RabbitMQ和其他几个AMQP实现满足了大部分(如果不是全部)这些要求。

  • RabbitMQ允许客户确认收到和/或处理消息。根据{{​​3}}:
  

如果消费者在没有向AMQP经纪人发送确认的情况下死亡   将它重新发送给另一个消费者,或者,如果没有消费者可以   时间,经纪人将等到至少一个消费者注册   尝试重新传递之前的同一队列。