需要一个简单,持久的单系统排队解决方案

|| 我有一个桌面应用程序,可以直接与同一系统上的服务进行通信。我想解耦它们,并在中间使用一个队列。我发现的大多数排队解决方案实际上都是供企业使用的,而不是供进程间通信使用的。 因此,我对所有人的问题是:你们中的任何人都曾经有过小型持久队列的经验吗?我当时正在考虑使用Apache Qpid,或者可能在系统上运行一个小型MySQL实例。有MySQL队列(http://q4m.github.com/)项目,但在生产系统中使用时看起来还有些年轻。     
已邀请:
我正在研究类似的问题。我需要在磁盘上保留一个相对较小的队列,因为我需要能够推迟处理每个条目而又不会丢失任何数据的风险。我还需要多个进程能够同时排队,而其他进程则可以同时出队。 我当前的想法是创建一个基于磁盘的队列,其中每个元素都写入文件中,并且文件名与元素键相对应。我所需要的只是实现简单的追加,锁定,解锁,删除和查找功能。简单的咨询文件锁定就足够了(Unix,C语言)。 我还没有找到一个小型图书馆来做这个。我认为我的问题不是很复杂,所以我会越来越多地提出自己的建议。 我取消了SQLite,因为我需要高并发性(该队列将在单个表中),因此我无法锁定整个队列。我还取消了诸如stxxl或ActiveMQ之类的大规模解决方案。对于我的项目,他们完全过分了。我在实现基于磁盘的排队/出队的IPC-DireQueue Perl模块中找到了一些启发(尽管我不能在项目中使用它)。 activemq http://activemq.apache.org/enterprise-integration-patterns.html stxxl http://stxxl.sourceforge.net/ IPC-DireQueue http://metacpan.org/pod/IPC::DirQueue     

要回复问题请先登录注册