MQ怎么实现应用程序之间的通信
刚刚接触MQ,要让应用A通过MQ和应用B通信该怎么做啊。在MQ中建立一个队列管理器,然后再建立一条Queue就行了吗?
还是说需要要两个队列管理器?或者两条Queue?
刚弄不懂,求大侠解释。
[解决办法]
系统A发消息到一个Q里面,该条消息包含系统B需要的一些信息,系统B去监听这个Q,拿到消息后根据消息内容,进行处理,处理完后返回一个response消息,放在另一个Q里面,系统A来监听这个Q,用来得到系统B返回的消息。大致的讲一下,讲细就涉及到太多了,懒的打字。。
[解决办法]
队列管理器就类似数据库,队列类似表。
1:只在一台机子上安装mq程序,只配置一个队列管理器,两个队列。
(1):A向队列管理器的队列中发一条消息,然后B取走,把处理结果放到另一个队列中。
(2):A从另一个队列中把处理结果取出处理。。。
这样的话,就失去了mq的作用:处理不稳定的网络连接。
2:在A所在的机子或局域网中安装一个mq程序,配置一个队列管理器,配置两个队列(一个发,一个接处理结果),在B所在的机子上或有局域网中安装另一个mq程序。配置一个队列管理器,配置两个队列(一个收,一个返回)
(1):A向它所在的队列管理器中的发送队列发一个消息,这条消息由mq通道转向B所在的队列管理器的的接收队列。然后B从它所在的队列管理器中的接收队列中取出,处理,并把结果放到返回队列中。这条消息会自动传回到A所在的结果队列中。
(2):A从结果队列中取出结果,处理。
当然,配置的队列需要远程队列,和通道来连接两个MQ程序中相对应的队列。
[解决办法]
laoyang_oneword说的很详细
其实复杂一点的可以用上MB
MQ相当于邮局的概念