当前位置: 代码迷 >> 综合 >> RabbitMQ (2) 理解消息通信
  详细解决方案

RabbitMQ (2) 理解消息通信

热度:86   发布时间:2023-11-24 08:14:18.0

消息包含两部分:有效载荷(payload)和标签(label)

信道是建立在"真实的"TCP连接内的虚拟连接,AMQP命令是通过信道发送出去的

消费者通过以下两种方式从特定的队列中接收消息:

a.通过AMQP的basic.consume命令订阅

b.basic.get

确认

a.basic.ack 显示的确认

b.auto_ack = true

消息未确认时拒绝

a.断开连接

b.basic.reject = true 重新分发

                          false 移除

创建队列:queue.declare

        参数:exclusive = true 私有

                   auto-delete

        检测队列是否存在,可以设置queue.declare的passive选项为true

队列通过路由键绑定到交换器

四种交换器:

       direct

       fanout

       topic

       headers

多租户模式:虚拟主机与隔离

rabbitmqctl statusrabbitmqctl list_vhostsrabbitmqctl add_vhost test_vhostrabbitmqctl delete_vhost test_vhost-n rabbit@[server_name] // 连接远程

持久化消息

事务