我非常喜欢使用消息队列系统(如Apache ActiveMQ)来执行任务,这些任务非常缓慢,不需要用户界面中的即时反馈。
问题是:我是否应该将它用于其他任务(这些任务相当快),并且不需要用户界面中的即时反馈?
还是它涉及到另一个层次的复杂性而没有那么多的好处?
发布于 2010-05-12 22:24:24
如果您已经在应用程序中使用MQ系统,我将考虑将大多数非同步任务移到那里。任何火灾和遗忘或事件驱动的任务都是一个很好的选择。但是,也不要做过头,如果应用程序中没有MQ的其他用途,我当然不会考虑添加依赖项。
发布于 2010-05-12 22:24:50
好吧,如果您仔细考虑一下,Win32或多或少是围绕消息队列构建的。尽管如此,仅仅因为你有锤子,并不能使每一个问题都成为钉子。坦白说,这要看情况而定。例如,队列对多个接收者不太有效。
发布于 2010-05-12 22:23:49
是否需要在后台处理请求,而不依赖于应用程序中的其他组件?如果答案是肯定的,我认为这需要某种形式的排队。
如果您在应用程序中内联地处理它们,这就意味着您的应用程序必须运行才能处理它们。如果您希望它们自己运行,那么您需要一些其他的东西来处理它们。如果您的消息处理需要始终运行,我不认为添加队列是足够的额外工作来避免它。
https://stackoverflow.com/questions/2823178
复制相似问题