消息队列ActiveMQ 点对点模型和发布订阅模型,使用.net_apache.nms+ stomp.js 或 mqttws31.min.js实现

ActiveMQ安装及部署

下载地址 http://activemq.apache.org/components/classic/download/

运行  activemq.bat,在浏览器输入 http://localhost:8161/admin/ (账户:admin 密码:admin)出现如下界面表示启动成功

 

ActiveMQ的消息传送模型
1)点对点模型(Point to Point)

使用队列作为(Queue)作为消息通信载体,满足消费者和生产者模式,一条消息只能被一个消费者使用,消息保证送达,离线消费者可以在下次登录时接收到积压的消息

》一个消息只能被一个服务接收
》消息一旦被消费,就会消失
》如果没有被消费,就会一直等待,直到被消费
》多个服务监听同一个消费空间,先到先得

2)发布订阅模型(Publish/Subscribe)

使用主题作为消息通信载体 (可能会造成部分消息的丢失)

<1>普通订阅:当前有几个消费者在线就发送几条消息给客户端

<2>持久化订阅:区分消费者:消费者在线则直接发送消息给在线客户端,消费者不在线只要有topic登记,那么就会为其保留数据直至其登陆一次性把积压数据推送过去。

》一个消息可以被多个服务接收
》订阅一个主题的消费者,只能消费自它订阅之后发布的消息。
》消费端如果在生产端发送消息之后启动,是接收不到消息的,除非生产端对消息进行了持久化(例如广播,只有当时听到的人能听到信息)
 
 代码实现
.net平台 通过Nuget安装ActiveMQ
 

 

 

使用stomp.js实现通信

 

使用mqttws31.min.js进行通信

 

源码地址:

https://pan.baidu.com/s/1m78Cbuxmr0BY5svGRuJFDA

 

posted @ 2020-11-10 17:30  CHHC  阅读(413)  评论(0)    收藏  举报