RabbitMQ实战---读书笔记
2017-06-14第1章 天将奇兵
第2章 理解消息通信
- 信道跟TCP连接。
- 交换器,队列,绑定。根据绑定规则将队列绑定到交换器上,消息是发布到交换器上的。有三种交换器:direct,fanout,topic。
- 基于消息的路由键和交换器类型,服务器会决定将消息投递到那个队列上。
- rabbitMQ每一条消息都要返回确认消息,否则不会继续发送消息给该订阅者。
- 默认情况下重启RabbitMQ服务器,队列和交换器都消失了以及里面的消息。durable属性默认false。它决定了RabbitMQ是否需要在崩溃或者重启之后重新创建队列。
- 想要消息从RabbitMQ崩溃中恢复必须做到
- 把它的投递模式Delivery Mode 选项设置为2(持久)
- 发送到持久化的交换器
- 到达持久化的队列。 疑问:如果在持久化队列做持久化时候,宕机或者重启了,怎么办?
- 保证持久性消息能重启恢复的方式就是写入磁盘的持久化日志文件。一旦某条持久化消息被消费了,被标记为等待垃圾收集。
- 虚拟主机和隔离措施。
- 将信道设置成confirm模式控制事务。异步执行。消息没有回滚概念,失败重发。发送确认方式更加轻量级。同时对代理服务器的性能影响几乎忽略不计。
- 使用RabbitMQ核心流程
- 连接到RabbitMQ
- 获取信道
- 声明交换器
- 创建消息
- 发布消息
- 关闭信道
- 关闭连接
-