一、前言

由于项目需要用的rabbitmq的c/c++客户端,所以尝试编译rabbitmq-c。

注:我的机器是Windows7 64位旗舰版,编译环境是VS2010-x64

二、准备工作

  1. 下载 rabbitmq-c 源码包 https://github.com/alanxz/rabbitmq-c/releases/latest
  2. 下载 CMake2.6或更高版本 http://www.cmake.org/ (本文使用 CMake2.8) 

三、安装

  1. 安装CMake

四、编译

  1. 运行CMake
  2. 在Where is the source code 填下载的rabbitmq-c目录
  3. 在Where to build the binaries 填编译生成目录
  4. 点Generate按钮选择visual studio 10开始编译
  5. Build下会生成rabbitmq-c解决方案,打开全编译,生成的dll和lib文件位于build\rabbitmq-c\librabbitmq\Release

 

五、Rabbitmq使用必须理解的一些概念

(转自:http://www.linuxidc.com/Linux/2013-11/92591.htm)

channel:通道,amqp支持一个tcp连接上启用多个mq通信通道,每个通道都可以被作为通信流。

producer:生产者,是消息产生的源头。

exchange:交换机,可以理解为具有路由表的路由规则。

queues:队列,装载消息的缓存容器。

consumer:消费者,连接到队列并取走消息的客户端。

核心思想:在RabbitMQ中,生产者从不直接将消息发送给队列。

事实上,有些生产者甚至不知道消息是否被送到某个队列中去了。生产者只负责将消息送给交换机,而交换机确切地知道什么消息应该送到哪。

bind:绑定,实际上可以理解为交换机的路由规则。每个消息都有一个称为路由键的属性(routing key),就是一个简单的字符串。一个绑定将【交换机,路由键,消息送达队列】三者绑定在一起,形成一条路由规则。

exchange type:交换机类型:

fanout:不处理路由键,转发到所有绑定的队列上

direct:处理路由键,必须完全匹配,即路由键字符串相同才会转发

topic:路由键模式匹配,此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词。因此“audit.#”能够匹配到“audit.irs.corporate”,但是“audit.*” 只会匹配到“audit.irs”

posted on 2017-09-06 16:05  zhouchongyan  阅读(1731)  评论(0编辑  收藏  举报