我非常喜欢使用消息队列系统(如Apache ActiveMQ)来完成相当慢的任务,并且不需要用户界面中的即时反馈。
问题是:我应该将它用于其他任务(非常快)并且不需要用户界面中的即时反馈吗?
或者它是否涉及另一层次的复杂性而没有那么多的好处?
答案 0 :(得分:2)
好吧,如果你考虑一下,Win32或多或少是围绕消息队列构建的。也就是说,仅仅因为你有一把锤子,就不会把每一个问题都钉在钉子上。坦率地说,这取决于。例如,队列对多个接收器不起作用。
答案 1 :(得分:1)
是否有必要在后台处理请求,而与应用程序中的其他组件无关?如果答案是肯定的,我认为它保证了某种类型的队列。
如果您在应用程序中内联处理它们,那只意味着您的应用程序必须运行才能处理它们。如果您希望它们自己运行,那么您需要其他东西来处理它们。我不认为添加队列是足够的额外工作,以证明如果您的消息处理需要始终运行,请避免它。
答案 2 :(得分:1)
如果您已在应用程序中使用MQ系统,我会考虑在那里移动大多数非同步任务。任何“一劳永逸”或“事件驱动”任务都是一个很好的选择。但是,不要过度使用它,如果你没有在应用程序中使用MQ,我肯定不会考虑添加依赖项。
答案 3 :(得分:0)
适合工作的工具。消息队列是否适合您的工作?