我目前有一个API运行,它将一个摄取作业委托给一个简短的轮询bash脚本。我不知道使用类似于strongMQ的本地适配器是否会比短轮询实现消耗更少的资源。
https://github.com/strongloop/strong-mq
如果消息队列比短轮询更少资源密集型,那么考虑到消息队列的实现是一个单独运行的微服务,这又是一个运行在操作系统上的节点进程或“集群”,那么这到底有什么可能呢?
发布于 2015-11-02 23:19:57
这可以归结为轮询频率和每次投票的开销。
如果您不是很频繁地轮询,那么它可能会消耗更少的资源来执行类似crontab中的bash脚本这样的操作,因为这些资源只在投票期间使用。
如果轮询非常频繁,以致于轮询脚本花费更多的时间运行而不是睡眠,那么使用消息队列之类的内容并支付较小但更稳定的开销税可能更有意义。
使用shell脚本的“短轮询”
每个周期都需要启动一个bash进程,而bash流程会从几个子进程中分离出来,以执行像读取文件和通过grep运行结果这样的任务,然后就会有一些可测量的开销。如果检查的结果是肯定的,则需要发送其他脚本或进程来执行排队操作。
消息队列轮询
每个循环都涉及到根据某种条件检查内存中的值。如果条件满足,则向连接的客户端发送通知消息/数据包。然后,客户端执行排队的任何操作。
https://stackoverflow.com/questions/33466682
复制相似问题