mysql - 使用数据库(MySql)的生产者/消费者系统,这可行吗?

标签 mysql database system consumer producer

我需要使用东西来协调我的系统与多个消费者/生产者,每个消费者/生产者在不同的机器上运行不同的操作系统。我一直在研究使用 MySql 来执行此操作,但它似乎非常困难。

我的要求很简单:我希望能够随时添加或删除消费者/生产者,因此他们根本不应该相互依赖。自然地,数据库可以很好地将两者分开。

我一直在寻找 MySql 的 Q4M 消息队列插件,但使用起来似乎很复杂。

我真的需要一些关于如何尽可能最好地构建我的系统的意见。

最佳答案

I need to use something to coordinate my system with several consumers/producers each running on different machines with different operating systems

这是一个消息队列。不要寻求其他选择。其他一切(即使用具有插入和删除功能的数据库)都非常缓慢和繁琐。

用数据库构建一个大型、缓慢的消息队列在实践中通常会很糟糕,因为 (1) 数据库很慢,(2) 数据库庞大而复杂,(3) 你有锁定和争用问题,使每个事务都有可能慢,(4) 它的开销比问题应得的要多得多。

有许多消息队列解决方案。

如果您不能让 Q4M 发挥作用,您应该转向另一个。

http://en.wikipedia.org/wiki/Message_queue

http://linux.die.net/man/7/mq_overview

http://qpid.apache.org/

http://code.google.com/p/httpsqs/

关于mysql - 使用数据库(MySql)的生产者/消费者系统,这可行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2449172/

相关文章:

mysql - char_length 没有像想象的那样工作

php - 使用 eloquent 或 DB 在 Laravel 中构建数据库查询

database - 使用 websockets 的 Node.js 应用程序的最佳数据库

mysql - 拉拉维尔 : How can I store Hindi Character in MySql Database

python - 获取系统Trougth python的音频设备和网络摄像头列表

php从mysql数据库获取数据

mysql - 从 shell 查询 MySQL 数据库

java - 在连续更新的批处理中运行时 couchdb 查询超时

audio - Applescript:检查计算机是否正在播放任何声音

c - 程序如何控制fork调用之间的切换