2016-09-26 48 views
0

从概念上讲,我们应该何时使用异步消息传递?为什么?我们不能将消息内容存储到某个数据库存储,并且为了处理这些消息而实际运行预定作业?为什么以及何时应该使用异步消息,如JMS或AMQP?

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

回答

3

不久之后,可以使用数据库,只要它能够满足您的速度和其他资源(如CPU/RAM)的需求。作为任何专门的解决方案,JMS允许您最大限度地有效解决特定类别的任务 - 异步消息。另外,例如,使用JMS,您可以拥有某种“开箱即用”的可伸缩性解决方案:您可以从不同的服务实例订阅单个队列中的事件,因此JMS将根据您的事件处理器服务的性能。

与队列一起还有另一个有用的对象 - 主题。它们对于同时向几个用户广播事件很有用,所以你需要自己实现它。

+0

数据库是否意味着在每秒数千次请求的情况下会出现危险的方法? – blackjack

+0

大多数/所有的消息传递提供程序都支持某种数据库的持久消息。但是你可以免费获得很多功能。并针对该特定任务进行了优化。是的 - 你可以建立你自己的信息,但这会重新发明轮子。 –

相关问题