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 记录的更多相关文章

  1. RabbitMQ介绍3 - 运行和管理RabbitMQ

    安装.官方介绍:http://www.rabbitmq.com/download.html.一般产品环境会部署到Linux环境,但做为简单尝试,可以部署到Windows上(这里是部署介绍:http:/ ...

  2. CentOS 7下单机部署RabbltMQ环境的操作记录

    一. RabbitMQ简单介绍 在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息 ...

  3. CentOS7下单机部署RabbltMQ环境的操作记录

    一.RabbitMQ简单介绍在日常工作环境中,你是否遇到过两个(多个)系统间需要通过定时任务来同步某些数据?你是否在为异构系统的不同进程间相互调用.通讯的问题而苦恼.挣扎?如果是,那么恭喜你,消息服务 ...

  4. RabbitMQ配置文件(rabbitmq.conf)

    rabbitmq.conf配置文件示例: #====================================== #RabbitMQ经纪人部分 #======================= ...

  5. 运行和管理Rabbit

    节点描述的是一个Erlang节点运行着一个Erlang应用程序.Erlang虚拟机的每个实例我们称之为节点.多个Erlang应用程序可以运行在同一个节点之上.节点之间可以进行本地通信.在RabbitM ...

  6. celery+RabbitMQ 实战记录2—工程化使用

    上篇文章中,已经介绍了celery和RabbitMQ的安装以及基本用法. 本文将从工程的角度介绍如何使用celery. 1.配置和启动RabbitMQ 请参考celery+RabbitMQ实战记录. ...

  7. RabbitMQ安装记录(windows10)

    RabbitMQ安装记录(windows10)   一.安装包准备 otp_win64_R16B03.exe(这里使用该版本,不支持ssl) otp_win64_19.0.exe(如果要开启ssl,请 ...

  8. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  9. RabbitMQ上手记录–part 6-Shovel

    上一part<RabbitMQ上手记录–part 5-节点集群高可用(多服务器)>讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是 ...

随机推荐

  1. [Docker] docker 基础学习笔记5(共6篇)

    docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker   现在比如我自己电脑上已经装好了docker,但 ...

  2. RedHat 6.7 Enterprise x64环境下使用RHCS部署Oracle 11g R2双机双实例HA

     环境 软硬件环境 硬件环境: 浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台. 软件环境: 操作系统:Redhat Enterpris ...

  3. 阅读笔记Multi-task Learning for Stock Selection [NIPS1996]

    Multi-task Learning for Stock Selection  Joumana Ghosn and Yoshua Bengio 摘要 用人工神经网络预测未来回报以便于做出对应的金融决 ...

  4. Android开发学习---使用XmlPullParser解析xml文件

    Android中解析XML的方式主要有三种:sax,dom和pull关于其内容可参考:http://blog.csdn.net/liuhe688/article/details/6415593 本文将 ...

  5. JAVA学习笔记(二):eclipse智能提示(转)

    存盘 Ctrl+s(肯定知道)注释代码 Ctrl+/取消注释 Ctrl+\(Eclipse3已经都合并到Ctrl+/了)代码辅助 Alt+/快速修复 Ctrl+1代码格式化 Ctrl+Shift+f整 ...

  6. HashMap学习

    HashMap<String, Object> java.util.HashMap<String, Object>   在数组中我们是通过数组下标来对其内容索引的,而在Map中 ...

  7. Linux学习(一):从图形界面进入命令行及命令行进入图形界面

    一.从图形界面进入命令行 最近脑洞大开,想接触一下linux.本人设备是win7,于是安了VMware(12.0.0)虚拟机,在安Linux(我用的CentOS 6.3 64)时不太会搞,跟据提示(英 ...

  8. cvInRangeS函数演示

    camshift算法中,用到了cvInRangeS函数,作为初学者,对这个函数很不理解,所以就写了个程序演示效果,加强理解. 代码: #include "cv.h" #includ ...

  9. 开启 mysql 远程访问

    如何开启MySQL的远程帐号-1)首先以 root 帐户登陆 MySQL 在 Windows 主机中点击开始菜单,运行,输入“cmd”,进入控制台,然后cd 进入MySQL 的 bin 目录下,然后输 ...

  10. python课程第一周重点记录