.NET中使用RabbitMQ总结
目前业界使用较多的消息队列组件有RabbitMQ、ActiveMQ、MSMQ、kafka、zeroMQ等
之间的对比可以看这里
之前搭过ActiveMQ环境带源码 点击这里
后来发现RabbitMQ性能比较好,决定这个项目中用到。
关于RabbitMQ的详细描述和安装可以看张善友老师的这篇文章 在 Windows 上安装Rabbit MQ 指南
最简单的方式是使RabbitMQ以Windows Service的方式在后台运行,所以我们需要以管理员权限打开cmd,然后切换到sbin目录下,执行这三条命令即可:
rabbitmq-service install
rabbitmq-service enable
rabbitmq-service start

激活Rabbit MQ's Management Plugin
使用Rabbit MQ 管理插件,可以更好的可视化方式查看Rabbit MQ 服务器实例的状态,你可以在命令行中使用下面的命令激活:
rabbitmq-plugins.bat enable rabbitmq_management
要重启服务才能生效,可以执行
net stop RabbitMQ && net start RabbitMQ
使用浏览器打开http://localhost:15672 访问RabbitMQ的管理控制台。
看到这个登录界面那就说明插件安装成了。

如果在外部访问没有看到这页面检查下防火墙。
默认账号密码都是guest
搭建环境安装服务都很顺利。
下面主要总结下使用RabbitMQ 遇到的问题:
封装RabbitMQ.NET Library 的一点经验总结 这篇文章已经总结了很多经验了。
7.设置一次只接受一个消息,而不是直接LOCK住所有的队列消息
默认情况下,一个队列里不管多少消息当你一个TCP连接打上去之后会LOCK住所有的消息,也就是说一个连接彻底占用了所有的消息,此时消息不会被其他集群的机器消费。
10.消费失败的消息要重新放入队列
再补充几点:
在项目中是添加队列表后在去直接添加到MQ,这个时候如果添加MQ的时候如果MQ挂了,这部分数据怎么重新推到MQ?
看这篇文章可以得到点思路 WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)——所有webapi似乎都缺失的一个功能
可以通过一个服务去定时跑队列,可以在队列表添加三列,发送成功、接受成功、处理成功,查询状态时一目了然。
参考:
.NET中使用RabbitMQ总结的更多相关文章
- .NET 环境中使用RabbitMQ
在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信 ...
- .NET 环境中使用RabbitMQ(转)
在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的但是执行起来比较较耗时的地方,比如发送短信 ...
- 转:.NET 环境中使用RabbitMQ
原文来自于:http://blog.jobbole.com/83819/ 原文出处: 寒江独钓 欢迎分享原创到伯乐头条 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统 ...
- 在Node.js中使用RabbitMQ系列二 任务队列
在上一篇文章在Node.js中使用RabbitMQ系列一 Hello world我有使用一个任务队列,不过当时的场景是将消息发送给一个消费者,本篇文章我将讨论有多个消费者的场景. 其实,任务队列最核心 ...
- OpenStack中的rabbitmq的配置方法
OpenStack中的rabbitmq的配置方法 author:headsen chen 2017-10-11 17:24:58 个人原创,允许转载,转载请注明作者,出处,否则依法追究法律责任 ...
- 学习在.NET Core中使用RabbitMQ进行消息传递之持久化(二)
前言 上一节我们简单介绍了RabbitMQ和在安装后启动所出现的问题,本节我们开始正式进入RabbitMQ的学习,对于基本概念请从官网或者其他前辈博客上查阅,我这里不介绍基础性东西,只会简单提一下,请 ...
- 浅谈surging服务引擎中的rabbitmq组件和容器化部署
1.前言 上个星期完成了surging 的0.9.0.1 更新工作,此版本通过nuget下载引擎组件,下载后,无需通过代码build集成,引擎会通过Sidecar模式自动扫描装配异构组件来构建服务引擎 ...
- .NET 环境中使用RabbitMQ 转发 http://www.cnblogs.com/yangecnu/p/4227535.html
.NET 环境中使用RabbitMQ 在企业应用系统领域,会面对不同系统之间的通信.集成与整合,尤其当面临异构系统时,这种分布式的调用与通信变得越发重要.其次,系统中一般会有很多对实时性要求不高的 ...
- 二、消息队列之如何在C#中使用RabbitMQ
1.什么是RabbitMQ.详见 http://www.rabbitmq.com/. 作用就是提高系统的并发性,将一些不需要及时响应客户端且占用较多资源的操作,放入队列,再由另外一个线程,去异步处理这 ...
- Python中使用RabbitMQ
一 RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息 ...
随机推荐
- 微信小程序地理定位和城市选择列表
1.先获取用户是否授权地理定位,如果没有让其跳转到设置页面手动开启(获取到的位置是经纬度,需要借助其他地图SDK的地址逆解析获取省市区的名字) getSetting() { wx.getSetting ...
- 游戏内存优化之使用16位纹理/NPOT
转自:https://blog.csdn.net/oqqQuZi1234567/article/details/41749599 图片文件大小和纹理内存占用是两码事.假设他们是帐篷.图片文件就相当于帐 ...
- String类、StringBuffer类、StringBuilder类
String类.StringBuffer类.StringBuilder类 String类的创建 // 方式一 直接赋值 String s = "woshihaoren"; // 方 ...
- 【转】Thunderbird 设置转移
此文章可能已经过时. 此文章的原文版本已经做出了重大更动.在此页面更新前,您可能也会觉得这个有用:Profiles - Where Thunderbird stores your messages a ...
- Spring Cloud netty
<properties> <spring.boot.version>2.3.2.RELEASE</spring.boot.version> <spring.c ...
- 艾思软件app开发公司帮您分析:开发一个APP多少钱?
首先你要知道你所要开发的APP, 是不是已经成熟的相同的产品, 如果有的话那还是建议直接购买, 这种已经能满足你需求的成品APP价格会很便宜, 总成本一般也就1到2万的级别. 如果没有那就需要定制开发 ...
- VBA中的结构体
结构体必须放在"模块"中: Type Org tag As String person As New Collection End Type 使用: Sub testType() ...
- 输入一段字符(只含有空格和字母,保证开头不为空格),里面有若干个字符串,求这些字符串的长度和,并输出最长字符串内容,如果有多个输出最先出现的那个字符串。以stop作为最后输入的字符串。
#include<stdio.h>#include<string.h>main(){ int i,j=0,m,count,max; char a[100]; ...
- nginx配置权重,ip_hash....
nginx为后端web服务器(apache,nginx,tomcat,weblogic)等做反向代理 几台后端web服务器需要考虑文件共享,数据库共享,session共享问题.文件共享可以使用nfs, ...
- Python项目案例开发从入门到实战-1.2 Python语法基础
书籍信息 1.2 Python语法基础 1.2.1 Python数据类型 数值类型 整型(int):浮点型(float):复数(complex),以j或J结尾,如2+3j 字符串 布尔类型 空值,用N ...

