RabbitMQ 记录
RabbitMQ 中文文档 : http://rabbitmq.mr-ping.com/description.html
官方教程译文:
一 http://blog.csdn.net/xiaoxian8023/article/details/48679609
二 http://blog.csdn.net/xiaoxian8023/article/details/48681987
三 http://blog.csdn.net/xiaoxian8023/article/details/48710653
四 http://blog.csdn.net/xiaoxian8023/article/details/48729479
五 http://blog.csdn.net/xiaoxian8023/article/details/48733249
六 http://blog.csdn.net/xiaoxian8023/article/details/48806871
七 http://blog.csdn.net/xiaoxian8023/article/details/48826857
1. BasicPublish发送久化消息
var properties = channel.CreateBasicProperties();
properties.SetPersistent(false); channel.BasicPublish(exchange: "", routingKey: "task_queue", basicProperties: properties, body: body);
Console.WriteLine(" [x] Sent {0}", message);
BasicPublish方法的参数BasicProperties,SetPersistent为false的时候消息不能持久化,重启MQ会丢失。
SetPersistent(false); 被标记为已过时,新方法为:properties.DeliveryMode = 2; 。
2. QueueDeclare 和 QueueBind
QueueDeclareOk QueueDeclare(string queue, bool durable, bool exclusive, bool autoDelete, IDictionary<string, object> arguments)
void QueueBind(string queue, string exchange, string routingKey);
从结果上看,两个方法都可以做Queue绑定之后读取Message。区别是,QueueDeclare 参数列表中所指定的 queue(实际是QueueName) 如果不存在,将会自动创建一个Queue,这种做法在实际研发中并不推荐。
3. topic 模式绑定的用法(反复几次都记不住)
首先将 exchange 设置为 topic 模式,然后在queue绑定的时候将 routingKey 设置为 #.exchange 或者 *.*.exchange 进行路由模糊匹配。
4. 匿名 exchange 和匿名临时 queue
日志系统比较适合匿名queue,参见 http://www.rabbitmq.com/tutorials/tutorial-three-dotnet.html 。
有 consumer 的时候可以正常消费 message, 没有 consumer 连接的时候消息也不会保留。
5. noAck = false 用于用于标记 consumer 接受到消息必须返回给 RabbitMQ 确认信息之后,消息才会被移除。如果 consumer 的 noAck = true ,则消息发送出去就立即被移除。
6. exlusive 用于标记排他型队列,DeclareQueue 的时候,如果 exclusive:true ,则链接断开的时候 Queue 将被清除。
RabbitMQ 记录的更多相关文章
- RabbitMQ介绍3 - 运行和管理RabbitMQ
安装.官方介绍:http://www.rabbitmq.com/download.html.一般产品环境会部署到Linux环境,但做为简单尝试,可以部署到Windows上(这里是部署介绍:http:/ ...
- CentOS 7下单机部署RabbltMQ环境的操作记录
一. RabbitMQ简单介绍 在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息 ...
- CentOS7下单机部署RabbltMQ环境的操作记录
一.RabbitMQ简单介绍在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务 ...
- RabbitMQ配置文件(rabbitmq.conf)
rabbitmq.conf配置文件示例: #====================================== #RabbitMQ经纪人部分 #======================= ...
- 运行和管理Rabbit
节点描述的是一个Erlang节点运行着一个Erlang应用程序.Erlang虚拟机的每个实例我们称之为节点.多个Erlang应用程序可以运行在同一个节点之上.节点之间可以进行本地通信.在RabbitM ...
- celery+RabbitMQ 实战记录2—工程化使用
上篇文章中,已经介绍了celery和RabbitMQ的安装以及基本用法. 本文将从工程的角度介绍如何使用celery. 1.配置和启动RabbitMQ 请参考celery+RabbitMQ实战记录. ...
- RabbitMQ安装记录(windows10)
RabbitMQ安装记录(windows10) 一.安装包准备 otp_win64_R16B03.exe(这里使用该版本,不支持ssl) otp_win64_19.0.exe(如果要开启ssl,请 ...
- Centos6.9下RabbitMQ集群部署记录
之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...
- RabbitMQ上手记录–part 6-Shovel
上一part<RabbitMQ上手记录–part 5-节点集群高可用(多服务器)>讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是 ...
随机推荐
- [Docker] docker 基础学习笔记5(共6篇)
docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker 现在比如我自己电脑上已经装好了docker,但 ...
- RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA
环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterpris ...
- 阅读笔记Multi-task Learning for Stock Selection [NIPS1996]
Multi-task Learning for Stock Selection Joumana Ghosn and Yoshua Bengio 摘要 用人工神经网络预测未来回报以便于做出对应的金融决 ...
- Android开发学习---使用XmlPullParser解析xml文件
Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将 ...
- JAVA学习笔记(二):eclipse智能提示(转)
存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整 ...
- HashMap学习
HashMap<String, Object> java.util.HashMap<String, Object> 在数组中我们是通过数组下标来对其内容索引的,而在Map中 ...
- Linux学习(一):从图形界面进入命令行及命令行进入图形界面
一.从图形界面进入命令行 最近脑洞大开,想接触一下linux.本人设备是win7,于是安了VMware(12.0.0)虚拟机,在安Linux(我用的CentOS 6.3 64)时不太会搞,跟据提示(英 ...
- cvInRangeS函数演示
camshift算法中,用到了cvInRangeS函数,作为初学者,对这个函数很不理解,所以就写了个程序演示效果,加强理解. 代码: #include "cv.h" #includ ...
- 开启 mysql 远程访问
如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin 目录下,然后输 ...
- python课程第一周重点记录