我什么时候会使用像 ironMQ 这样的消息队列,什么时候会使用像 ironWorker 这样的作业处理工作者?
我刚刚开始研究这两个主题,我发现很难区分这两种用途。我知道工作人员或多或少是一个沙箱,它将在应用服务器之外的不同环境中运行程序以增加用户体验。我也知道消息队列很像它的数据库替代方案,即一个任务被添加到一个队列中,然后另一个服务器/编程监听该任务,然后处理它。但是,尽管我认为我了解它们是什么,但我无法区分何时使用它们以及为什么使用它们。
如果我理解正确,我会使用工人来完成图像处理等任务。但是为什么我不能为此使用消息队列,更重要的是为什么不呢?当然,我可以让一个图像 URL 在 ironMQ 中排队,然后让另一个程序检索并处理它。在我看来,这似乎是一个额外的步骤,所以我会避免这样做。
当工作人员可用时,消息队列对我来说对于常见任务似乎毫无意义。当然,对于像发表评论这样的非密集型任务,我可以让工人这样做吗?
我可能误解了每种工具之间的区别,如果是这样,请让我直截了当。否则,请帮忙。