gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 23:38:39 27 4
gpt4 key购买 nike

我有一个桌面应用程序可以直接与同一系统上的服务通信。我想将它们解耦并在中间使用队列。我发现的大多数队列解决方案实际上是为企业使用而设计的,而不是用于进程间通信。

那么,我想问你们所有人的问题是:你们中有人有过使用小规模持久队列的经验吗?我正在考虑使用 Apache Qpid,或者可能在系统上运行一个小型 MySQL 实例。有 MySQL 队列 (http://q4m.github.com/) 项目,但在生产系统中使用它看起来有点年轻。

最佳答案

我正在处理类似的问题。我需要在磁盘上保留一个相对较小的队列,因为我需要能够在不冒丢失任何数据的风险的情况下推迟对每个条目的处理。我还需要多个进程能够同时排队,而其他进程能够同时出队。

我目前的想法是创建一个基于磁盘的队列,其中每个元素都写入一个文件,文件名对应于元素键。我只需要实现简单的附加、锁定、解锁、删除和查找功能。简单的建议文件锁定就足够了(Unix、C 语言)。

我还没有找到这样做的小型图书馆。由于我的问题不是很复杂,我认为我会越来越多地推出自己的产品。

我淘汰了 SQLite,因为我无法锁定整个队列,因为我需要高并发性(队列将在单个表中)。我还消除了像 stxxl 或 ActiveMQ 这样的大规模解决方案。他们对我的项目来说太过分了。我在实现基于磁盘的排队/出队的 IPC-DireQueue Perl 模块中找到了一些灵​​感(尽管我不能在我的项目中使用它)。

活跃的 http://activemq.apache.org/enterprise-integration-patterns.html

请问 http://stxxl.sourceforge.net/

IPC-直接队列 http://metacpan.org/pod/IPC::DirQueue

关于mysql - 需要一个简单、持久的单系统排队解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5313496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com