【消息队列MQ】ActiveMq的通信方式

消息规范里面定义最常见的几种消息通信模式主要有发布-订阅、点对点这两种。ActiveMq是JMS消息通信规范的一个实现,除了这两种通信方式,还衍生出来了一种请求应答的模式.


1) publish-subscribe 

发布/订阅方式用于多接收客户端的方式.作为发布订阅的方式,可能存在多个接收客户端,并且接收端客户端与发送客户端存在时间上的依赖。一个接收端只能接收他创建以后发送客户端发送的信息。作为subscriber ,在接收消息时有两种方法,destination的receive方法,和实现message listener 接口的onMessage 方法。 



2) p2p   点对点方式(point-to-point) 
   点对点的消息发送方式主要建立在 Message Queue,Sender,receiver上,Message Queue 存贮消息,Sender 发送消息,receive接收消息.具体点就是Sender Client发送Message Queue ,而 receiver Client从Queue中接收消息和"发送消息已接受"到Queue,确认消息接收。消息发送客户端与接收客户端没有时间上的依赖,发送客户端可以在任何时刻发送信息到Queue,而不需要知道接收客户端是不是在运行 



3) request-response 

和前面两种方式比较起来,request-response的通信方式很常见,但是不是默认提供的一种模式。在前面的两种模式中都是一方负责发送消息而另外一方负责处理。而我们实际中的很多应用相当于一种一应一答的过程,需要双方都能给对方发送消息。于是请求-应答的这种通信方式也很重要。它也应用的很普遍。 

     请求-应答方式并不是JMS规范系统默认提供的一种通信方式,而是通过在现有通信方式的基础上稍微运用一点技巧实现的。下图是典型的请求-应答方式的交互过程:





参考资料:

   http://shmilyaw-hotmail-com.iteye.com/blog/1897635

   http://blog.csdn.net/agileclipse/article/details/8575569




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章