PHP使用ActiveMQ案例分析(附代码)
程序员文章站
2022-05-14 13:59:19
...
这次给大家带来PHP使用ActiveMQ案例分析(附代码),PHP使用ActiveMQ的注意事项有哪些,下面就是实战案例,一起来看一下。
使用点对点(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中的坑,你掉进去过几个?
下一篇: 403 forbidden,求指点
推荐阅读
-
使用php方法curl抓取AJAX异步内容思路分析及代码分享
-
Vue2返回顶部组件使用分析(附代码)
-
sqlserver 通用存储过程分页代码(附使用ROW_NUMBER()和不使用ROW_NUMBER()两种情况性能分析)
-
PHP swoole中使用task进程异步的处理耗时任务应用案例分析
-
使用bandit对目标python代码进行安全函数扫描的案例分析
-
Canvas实现放大镜效果完整案例分析(附代码)
-
PHP copy函数使用案例代码解析
-
PHP随机数生成代码与使用实例分析_PHP
-
伪随机数 PHP随机数生成代码与使用实例分析
-
使用php方法curl抓取AJAX异步内容思路分析及代码分享,curlajax_PHP教程