【问题标题】:Why and when should we use asynchronous messaging like JMS or AMQP?为什么以及何时应该使用 JMS 或 AMQP 等异步消息传递?
【发布时间】:2016-09-26 17:55:43
【问题描述】:

从概念上讲,我们什么时候应该使用异步消息传递?为什么?难道我们不能将消息内容存储到某个 DB Store 并最终运行计划作业以处理这些消息吗?

例如,使用 JMS 或 AMQP 为系统开发带来真正的优势?有没有办法简化这个设计并获得相同的结果?

【问题讨论】:

    标签: asynchronous jms amqp


    【解决方案1】:

    简而言之,是的,如果它通过速度和其他资源(例如(CPU/RAM))满足您的需求,您可以改用 DB。与任何专门的解决方案一样,JMS 允许您最大限度地有效地解决特定类别的任务 - 异步消息传递。

    此外,例如,使用 JMS,您可以拥有某种“开箱即用”的可扩展性解决方案:您可以从不同的服务实例订阅来自单个队列的事件,因此 JMS 将根据性能自动进行负载平衡您的事件处理器服务。

    除了队列之外,这里还有另一个有用的对象 - 主题。它们对于同时向多个订阅者广播事件很有用,因此您需要自己实现它。

    【讨论】:

    • 在这种每秒有数千个请求的情况下,数据库是否意味着一种危险的方法?
    • 大多数/所有消息传递提供程序都由某种数据库支持以用于持久消息。但是您可以免费获得很多功能。它针对特定任务进行了优化。是的 - 您可以构建自己的消息传递,但这将是重新发明轮子。
    猜你喜欢
    • 2014-04-01
    • 2013-11-20
    • 2011-06-29
    • 1970-01-01
    • 2015-06-07
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多