JMS&ActiveMQ教程
基于JMS的消息传送
ActiveMQ与Spring集成
ActiveMQ与SpringBoot集成
ActiveMQ安全机制
ActiveMQ主从集群

ActiveMQ中拉模式与推模式

● 拉模式(点对点消息)

如果没有消费者在监听队列,消息将保留在队列中,直至消息消费者连接到队列为止。在这种模型中,消息不是自动推动给消息消费者的,而是要由消息消费者从队列中请求获得。

● 推模式(发布订阅消息)

在该模型中,消息会自动广播,消息消费者无须通过主动请求或轮询主题的方法来获得新的消息。

消息队列比较核心的应用场合有三个:解耦、异步和削峰

在消息队列中一种常用的消息推送类型是推拉模式

下面是推拉模式的对比:

具体的比较

1.Push模式

推模式是服务器端根据用户需要,由目的、按时将用户感兴趣的信息主动发送到用户的客户端

Push模式的主要优点是

(1)对用户要求低,方便用户获取需要的信息

(2)及时性好,服务器端即使地向客户端推送更行的动态信息

Push模式的缺点

不能确保发送成功。Push模式采用广播方式,只有服务器端和客户端在同一个频道上,推模式才有效,用户才能接收到信息

没有信息状态跟踪。Push模式采用开环控制技术,一个信息推送后的状态,比如客户端是否接收等,无从得知

针对性较差。推送的信息可能并不能满足客户端的个性化需求。

2.Pull模式

拉模式是客户端主动从服务器端获取信息

拉模式的主要优点是

针对性强,能满足客户端的个性化需求

信息传输量较小,网络中传输的知识客户端的请求和服务器端对该请求的响应

服务器端的任务轻。服务器端只是被动接收查询,对客户端的查询请求做出响应

拉模式的缺点

实时较差,针对于服务器端实时更新的信息,客户端难以获取实时信息

对于客户端用户的要求较高,需要对服务器端具有一定的了解。