rabbitmq学习笔记
1 基本概念[*]rabbitmq server(broker server):rabbitmq服务 client:包括producers和consumer
[*]message:包括payload和label exchange:producer发布message的地方
[*]queue:messages存放和consumer收取message的地方
[*]bindings:将message从exchange到不同queue的实现
[*]connection:tcp连接,producer和consumer都是通过connection到rabbitmq server
[*]channels:虚拟连接,建立在connection上,在创建后connection创建,需要基于channels进行通信
使用channel而不是使用tcp通信的原因:关闭tcp连接代价较大,channel是tcp连接上的虚拟连接概念,关闭连接没有代价,感觉有点像golang的goroutine概念
2 基本机制
ack
ack配置和相应策略?
queue
[*]创建:建议producer和consumer都try create queue
[*]try create:当queue存在,try create不会改变其属性
exchange
[*]direct:以routing key直接匹配到对应queue
[*]fanout:广播给queue
[*]topic:可以对key进行正则匹配,比如ab*传递给所有以ab开头的queue
virtual hosts
隔离,本质上是个rabbitserver,拥有自己的queue,exchange,bings rule等
3 开发
持久化:
- 队列持久化和消息持久化区别?http://blog.csdn.net/hanruikai/article/details/42778921
页:
[1]