首页 新闻 搜索 专区 学院

如何订阅消息队列

0
[已解决问题] 解决于 2016-06-01 10:41

 

这个问题之前提过 主要是我对MSMQ流程没搞清楚 ,网上百度也看了许多,我对消息队列的理解也只有个大概,希望有人能够简单帮我梳理一下,以上图为例,(我通过Socket已经实现)现在我想的是客户端1、客户端2--------客户端n 都向服务器1发送消息 (假设会产生并发访问)所以将采用消息队列的方式,这里我有一点不确定所谓的用消息队列的话,是服务器1分别订阅客户端1、客户端2、-------客户端n的(这些客户端都将要发送的消息放进消息队列里而不是通过Socket发送) 还是说客户端1、客户端2--------客户端n都通过Socket通信将数据发到服务器1,服务器1将受到的消息放进它自己的队列,然后让服务器2来订阅?还有如果都通过消息队列订阅的方式的话,是不是Socket都可以不用了?保证这些客户端和服务器都在同一个局域网就行?

无线电静默的主页 无线电静默 | 初学一级 | 园豆:28
提问于:2016-05-31 08:56
< >
分享
最佳答案
1

如果用消息队列的话就没有分层了.而是星型结构了.所有的电脑不管服务器客户端只要能连接到消息队列服务器就行.

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:28856 | 2016-05-31 09:38

我就是百度了下   大概知道用法  就是不知道怎么用才好 谢谢你的热情回复哈   我非要用消息队列其实也是想多学些东西  里面具体的用法我个人不是太懂   比如说 客户端1,2,3,4.。。。。。都把数据发送到服务器的消息队列中   然后服务器2来 通过Receive()来接收 这个就叫做订阅么? 还有就是 一开始消息队列是空的  服务器2一开始工作时就要去取服务器1的队列里的消息 但是这个时候是空的  没有数据  我想实现的是 队列有数据就读 没数据就一直循环直到有数据(独立的线程循环执行) 我网上找了个例子  他是等待队列里的数据要是 空了 就直接报错了  满足不了我的要求  求大神推荐基本和这个相关的书籍吧  这个也是别个提供思路,具体还是要自己码一遍才能理解

 

无线电静默 | 园豆:28 (初学一级) | 2016-05-31 14:49

@无线电静默: 这些东西都不用你管.早就有人把订阅发布的客户端做好了.

你只要装个消息队列.然后用他的客户端连上去调接口就行了

最简单的rabbitmq,用easyq客户端

吴瑞祥 | 园豆:28856 (高人七级) | 2016-05-31 15:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册