【问题标题】:Which MQ implementation would be suitable哪种 MQ 实现适合
【发布时间】:2011-04-28 13:01:25
【问题描述】:

我必须在现场实施消息队列,它在数据库中执行 20K/天的写入操作。我们愿意引入消息队列来减轻这些写操作的负担。我对消息队列实现了解不多。如果我们只在一台服务器上实现它会有帮助吗?或提出一些更好的建议。

还有哪种 MQ 技术有用?我们是 Apache 的 php Shop

【问题讨论】:

  • 感谢您的详细解答。我有点倾向于beantalkd。不清楚它是否像 Krestal 一样也是用 Ruby 编写的还是用 C 编写的
  • @Volatil3 不客气。随意对链接的答案进行投票,以表明它们很有帮助。从beanstalkd source files on Git 来看,我会说它是用 C 编写的。
  • 你能解释一下这是什么类型的应用程序,以及你认为卸载到队列会有什么帮助吗?我也很感兴趣。在此基础上,我也给你一个建议。
  • @Till:它实际上是一个拥有 700 万会员、每天 200 万次浏览量的门户网站。我们使用 MySQL 作为数据库

标签: php apache message-queue message


【解决方案1】:

所以分解一下,听起来你也有一些 MySQL 问题。

也许我们可以帮助您在设置队列之前先优化这部分堆栈?特别是因为我还不确定您的应用程序如何使用 MySQL,以及您计划如何或在何处将项目排队以从潜在的写锁中卸载。

前几天我刚回答了一个类似的问题:

让我知道这是否有帮助或我们可以如何进一步提供帮助。

【讨论】:

    【解决方案2】:

    有很多选择(到目前为止没有人提到rabbitmq)但是如果您真的每天只处理 20,000 笔交易,那么使用消息队列,尤其是在单个服务器上不是解决问题的正确方法。

    【讨论】:

    • @symcbean: 那你会怎么做
    • 看看为什么系统目前不能处理这个卷。什么数据库?已经进行了哪些调整?它是如何配置的?
    • 我认为这是一个合适的模式。但我对你的建议很感兴趣。
    • 因此,不是将数据写入(真实)数据库,而是建议将数据写入(队列)数据库,从(队列)数据库中检索数据,将数据写入(真实)数据库。您希望在单台机器上运行时这会更快吗?
    • @symcbean:我同意单个服务器上的性能不会真正提高,但性能和可伸缩性是两个不同的问题。我想卸载到队列确实比写入数据库要快,因为锁是很自然的事情。
    猜你喜欢
    • 1970-01-01
    • 2012-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 2020-09-28
    相关资源
    最近更新 更多