Spring异步消息
概述
异步消息主要是为了系统与系统之间的通信。有两个很重要的概念:消息代理(message broker)和目的地(destination),当消息发送者
发出消息
后,消息将有消息代理
接管,消息代理
保证消息传递到指定的目的地。消息代理
将消息放入一个队列(目的地),当有消息接收者
时,消息代理
将消息传递给接受者
,这时候队列里就没有了这条消息。
异步消息主要有两种形式的目的地:队列和主题。队列用于点对点式的消息通信,主题用于发布/订阅式的消息通信。
点对点式确保每条消息只有唯一的发送者和接收者。发布/订阅式是消息发送者发送消息的主题,多个消息接收者监听这个主题。他们分别叫发布者和订阅者。
企业级消息代理
JMS(Java Message Service)就是Java的消息服务,是基于JVM消息代理的规范。而ActiveMQ是一个JMS消息代理的实现。 AMQP(Advanced Message Queuing Protocol)也是一个消息代理的规范,它不仅兼容JMS,还支持跨语言和平台。AMQP的主要实现是RabbitMQ。