使用点对点(Point To Point)模型
点对点模型特点:
生产者producer.php代码:
<?php try { // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i=0; $i<3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/queue/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消费者1consumer1.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消费者2consumer2.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/queue/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
执行结果图如下:
使用发布/订阅(Publish Subscribe)模型
发布/订阅模型特点:
多个消费者都可以收到消息
能重复消费
生产者producer.php代码:
<?php try { // 1.建立连接 $stomp = new Stomp('tcp://47.52.119.21:61613'); // 2.实例化类 $obj = new Stdclass(); // 3.获取数据 for($i = 0; $i < 3; $i++){ $obj->username = 'test'; $obj->password = '123456'; $queneName = "/topic/userReg"; // 4.发送一个注册消息到队列 $stomp->send($queneName, json_encode($obj)); } } catch (StompException $e) { die('Connection failed: ' . $e->getMessage()); }
消费者1consumer1.php代码:
<?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
消费者2consumer2.php代码:
?php $stomp = new Stomp('tcp://localhost:61613'); $stomp->subscribe('/topic/userReg'); while (true) { //判断是否有读取的信息 if ($stomp->hasFrame()) { $frame = $stomp->readFrame(); $data = json_decode($frame->body, true); var_dump($data); $stomp->ack($frame); } }
执行结果图如下:
本文向大家介绍PHP使用ActiveMQ实现消息队列的方法详解,包括了PHP使用ActiveMQ实现消息队列的方法详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP使用ActiveMQ实现消息队列的方法。分享给大家供大家参考,具体如下: 前面我们已经学了如何部署ActiveMQ, 我们知道通过ActiveMQ的一个管理后台可以查看任务队列。 今天 用PHP来操作ActiveMQ,我
我有两个经纪人A和B。如果我想将消息从A转发给B,一切都很简单。我只需要代理中的网络连接器,如下所示: 如果我想从其他队列中使用来自代理 B 的消息,我会犹豫不决(让我们将其命名为 QUEUE。自。消费)我只需要做同样的事情,但双工设置为true,只需听队列。自。在代理 A 上消费,如下所示: 但是它不像我预期的那样工作。似乎每一秒钟只有一条信息被转发,其余的都丢失了。令人惊讶的是,这在代理B队列
本文向大家介绍PHP curl使用实例,包括了PHP curl使用实例的使用技巧和注意事项,需要的朋友参考一下 概述 本博客的前面两篇文章:curl和libcurl简介以及PHP中使用curl对PHP中curl的使用做了简单介绍,但是PHP中curl的使用却并不简单,尤其是curl的各种配置项,本篇文章会讲解几个PHP的实例,以便大家更好的理解curl。 实例:抓取页面 使用curl抓取页面相对来
本文向大家介绍PHP SplObjectStorage使用实例,包括了PHP SplObjectStorage使用实例的使用技巧和注意事项,需要的朋友参考一下 PHP SPL SplObjectStorage是用来存储一组对象的,特别是当你需要唯一标识对象的时候。 PHP SPL SplObjectStorage类实现了Countable,Iterator,Serializable,ArrayAc
本文向大家介绍ActiveMQ:使用Python访问ActiveMQ的方法,包括了ActiveMQ:使用Python访问ActiveMQ的方法的使用技巧和注意事项,需要的朋友参考一下 Windows 10家庭中文版,Python 3.6.4,stomp.py 4.1.21 ActiveMQ支持Python访问,提供了基于STOMP协议(端口为61613)的库。 ActiveMQ的官文Cross L
本文向大家介绍php使用GeoIP库实例,包括了php使用GeoIP库实例的使用技巧和注意事项,需要的朋友参考一下 需要注意的是maxmind是geoip数据库的提供方, 同时也提供了很多语言的sample和api说明文档。 比如php,和php的geoip库是有很大区别的,包含使用方式,接口函数。 php官方的geoip需要配置php环境,加载geoip.dll库,并在php.ini中指定GEO