首页 > 其他 > 详细

RabbitMQ 客户端开发向导

时间:2019-01-27 23:51:03      阅读:202      评论:0      收藏:0      [点我收藏+]

准备工作:composer 引入 php-amqplib

说明:本文说明基于 Java(主要说明原理),实现使用 php

 

RabbitMQ Java 客户端使用 com.rabbitmq.client 作为顶级包名,关键的 Class 和 Interface 有 Cahnnel、Connection、ConnectionFactory、Consumer 等。AMQP 协议层面的操作通过 Channel 接口实现。Connection 是用来开启 Channel(信道)的,可以注册事件处理器,也可以在应用结束时关闭连接。与 RabbitMQ 相关的开发工作,基本上也是围绕 Connection 和 Channel 这两个类展开的。本文详细内容有这几点:连接、交换器/队列的创建与绑定、发送消息、消费消息、消费消息的确认和关闭连接。

 

1、连接 RabbitMQ

$connection = new AMQPStreamConnection(‘localhost‘, 5672, ‘guest‘, ‘guest‘);
$channel = $connection->channel();

  在创建之后, $channel 可以用来发送或者接收消息了。

  注意要点:

  Connection 可以用来创建多个 Channel 实例,但是 Channel 实例不能在线程间共享,应用程序应该为每一个线程开辟一个 Channel。某些情况下 Channel 的操作可以并发运行,但是在其他情况下会导致网络上出现错误的通信帧交错,同时也会影响发送方确认(publisher confirm)机制的运行,所以多线程间共享 Channel 实例是非线程安全的。

  

2、使用交换器和队列

  交换器和队列是 AMQP 中 high-level 层面的构建模块,应用程序需确保在使用它们的时候就已经存在了,在使用之前需要先声明(declare)它们。

 

 

  

 

RabbitMQ 客户端开发向导

原文:https://www.cnblogs.com/eleven24/p/10327865.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!