【问题标题】:Is short-polling less resource-intensive than message queues?短轮询比消息队列占用更少的资源吗?
【发布时间】:2016-02-01 16:34:46
【问题描述】:

我目前正在运行一个 API,它将摄取作业委托给一个简短的轮询 bash 脚本。我不知道使用 strongMQ 的本机适配器之类的东西是否会比短轮询实现消耗更少的资源。

https://github.com/strongloop/strong-mq

如果消息队列的资源密集程度低于短轮询,考虑到消息队列的实现是一个单独运行的微服务,它是另一个运行在操作系统上的节点进程或“集群”,这究竟是怎么可能的。

【问题讨论】:

    标签: node.js message-queue polling strongloop


    【解决方案1】:

    这取决于轮询频率和每次轮询的开销。

    如果您不经常轮询,那么在 crontab 中执行诸如 bash 脚本之类的操作可能会消耗更少的资源,因为资源仅在轮询期间消耗。

    如果您的轮询如此频繁,以至于轮询脚本运行的时间比睡眠时间多,那么使用消息队列之类的东西并支付更小但更稳定的间接税可能更有意义。

    使用 shell 脚本的“短轮询”

    每个循环都涉及启动一个 bash 进程,并且该 bash 进程分叉出一些子进程来执行诸如读取文件和通过 grep 运行结果等任务,然后您就会得到一些可衡量的开销。如果检查的结果是肯定的,你就派生一些其他脚本或进程来执行排队的操作。

    消息队列轮询

    每个循环都涉及根据某种条件检查内存中的值。如果满足条件,则向连接的客户端发送通知消息/数据包。然后客户端执行任何排队的操作。

    【讨论】:

      猜你喜欢
      • 2011-08-29
      • 1970-01-01
      • 1970-01-01
      • 2018-12-30
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      相关资源
      最近更新 更多