RabbitMQ实战---读书笔记

第1章 天将奇兵

第2章 理解消息通信

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

-