消息队列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 @   CHHC  阅读(396)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示