消息队列系统

Aca*_*hus 15 c# queue message-queue

我正在编写消息队列系统.

我的问题是......用文件或数据库做这个队列会更好吗?

如果我选择数据库,它需要每秒检查一次新的工作,这对我来说似乎有点开销?

如果它是文件,我猜你只是不断监视文件夹并根据它执行?

BR,

Wya*_*ett 28

不要重新发明 车轮.

[编辑:2014年更新,现在链接到兔子MQ,因为Ayende已经转向制作文档数据库而不是消息队列,但是RabbitMQ再次出现了.我不会写这个,但现在帖子需要30个字符,所以我需要喋喋不休.]


Joe*_*orn 26

我选择选项"C" - 使用已内置于Windows的消息队列:

https://msdn.microsoft.com/en-us/library/ms973860.aspx


Add*_*dys 5

你决定"更好"的标准是什么?性能?可扩展性?可靠性?成本?

基本权衡是:

数据库 - 事务支持,完整性保证(通过约束),更丰富的查询支持,可能会更好地扩展(取决于实现)

文件系统 - 更便宜,更简单,移动更少的部件(至少最初)

您可能希望首先查看现有解决方案 - MSMQ,SQL Server代理,开源库(如Rhino队列)(http://ayende.com/Blog/archive/2008/08/01/Rhino-Queues.aspx)