【发布时间】:2016-09-26 17:55:43
【问题描述】:
从概念上讲,我们什么时候应该使用异步消息传递?为什么?难道我们不能将消息内容存储到某个 DB Store 并最终运行计划作业以处理这些消息吗?
例如,使用 JMS 或 AMQP 为系统开发带来真正的优势?有没有办法简化这个设计并获得相同的结果?
【问题讨论】:
标签: asynchronous jms amqp
从概念上讲,我们什么时候应该使用异步消息传递?为什么?难道我们不能将消息内容存储到某个 DB Store 并最终运行计划作业以处理这些消息吗?
例如,使用 JMS 或 AMQP 为系统开发带来真正的优势?有没有办法简化这个设计并获得相同的结果?
【问题讨论】:
标签: asynchronous jms amqp
简而言之,是的,如果它通过速度和其他资源(例如(CPU/RAM))满足您的需求,您可以改用 DB。与任何专门的解决方案一样,JMS 允许您最大限度地有效地解决特定类别的任务 - 异步消息传递。
此外,例如,使用 JMS,您可以拥有某种“开箱即用”的可扩展性解决方案:您可以从不同的服务实例订阅来自单个队列的事件,因此 JMS 将根据性能自动进行负载平衡您的事件处理器服务。
除了队列之外,这里还有另一个有用的对象 - 主题。它们对于同时向多个订阅者广播事件很有用,因此您需要自己实现它。
【讨论】: