rabbitmq简单运用
<?php
/**
* 生产者
*/ $connection = new AMQPConnection([
'host' => '192.168.23.130',
'port' => 5672,
'login' => 'rabuser',
'password' => '123456'
]); $connection->connect() or die('连接失败'); try{ $exchange_name = 'trades';
$route_key = '/trade';
//投递消息到中间件 $channel = new AMQPChannel($connection);//创建消息通道 $exchange = new AMQPExchange($channel);//通过通道连接交换几
//设置通道名称
$exchange->setName($exchange_name); $data = json_encode(['time'=>time()]);
//发布消息到交换机中
$exchange->publish($data,$route_key); }catch (AMQPChannelException $e){
var_dump($e);
}
<?php
/**
* 消费者
*/ $connection = new AMQPConnection([
'host' => '192.168.23.130',
'port' => 5672,
'login' => 'rabuser',
'password' => '123456'
]); $connection->connect() or die('连接失败'); try{ $exchange_name = 'trades';
$route_key = '/trade';
$queue_name = 'queue';
//投递消息到中间件 $channel = new AMQPChannel($connection);//创建消息通道 $exchange = new AMQPExchange($channel);//通过通道连接交换几
//设置通道名称
$exchange->setName($exchange_name);
//三种获取消息的模式,直连模式,主题模式,广播模式 $exchange->setType(AMQP_EX_TYPE_DIRECT);
//声明
$exchange->declareExchange(); //声明队列绑定交换机路由
$queue = new AMQPQueue($channel);
$queue->setName($queue_name);
$queue->declareQueue(); //绑定监听获取数据
$queue->bind($exchange_name,$route_key); //消费数据,默认阻塞监听获取数据
$queue->consume(function ($event,$queue){
//获取数据
$msg = $event->getBody(); var_dump($msg);
var_dump($queue);
//回应ACK
$queue->ack($event->getDeliveryTag());
}); }catch (AMQPChannelException $e){
var_dump($e);
}
rabbitmq简单运用的更多相关文章
- rabbitmq简单收发服务搭建
消息发送.接收简单代码示例 mq.xml //rabbitmq config spring.rabbitmq.host=ip:host spring.rabbitmq.username= spring ...
- RabbitMQ简单应用の简单队列
(1)首先创建一个maven项目: pom.xml,重点是配置RabbitMQ <dependencies> <dependency> <groupId>junit ...
- AMQP消息队列之RabbitMQ简单示例
前面一篇文章讲了如何快速搭建一个ActiveMQ的示例程序,ActiveMQ是JMS的实现,那这篇文章就再看下另外一种消息队列AMQP的代表实现RabbitMQ的简单示例吧.在具体讲解之前,先通过一个 ...
- rabbitmq简单实例
JMS组件:activemq(慢)AMQP组件(advance message queue protocol):rabbitmq和kafka 一..消息队列解决了什么问题?异步处理应用解耦流量削锋日志 ...
- RabbitMQ 简单的消息发送与接收
RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立 ...
- RabbitMQ简单使用
环境搭建: RabitMQ是用Elang编写的,虽然Elang本身是跨平台的,但也同时意味着搭建Rabit环境需要首先配置Elang环境.配置RabitMQ的网上教程还比较多的: windows 下 ...
- RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例
交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...
- PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (四) -- Push API 和 Pull API
RabbitMQ 中针对消息的分发提供了 Push API (订阅模式) 和 Pull API (主动获取) 两种模式. 在 PHP 中, 这两种模式分别通过 AMQPQueue 类中的 consum ...
- rabbitmq 简单示例(Hello World)
一:消息中间件: AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 RabbitMQ是实现AMQP( ...
- RabbitMQ学习笔记(2)----RabbitMQ简单队列(Hello World)的使用
1. 简单队列结构图 2. 引入依赖 pom.xml文件 <dependency> <groupId>com.rabbitmq</groupId> <arti ...
随机推荐
- 5月28日 python学习总结 CSS学习(二)
CSS属性相关 宽和高 width属性可以为元素设置宽度. height属性可以为元素设置高度. 块级标签才能设置宽度,内联标签的宽度由内容来决定. 字体属性 文字字体 font-family可以把多 ...
- 查找goog13的ip
C:\Users\Deen>ping 172.217.24.14 Pinging 172.217.24.14 with 32 bytes of data: Reply from 172.217. ...
- xx局点FusionCloud6.3type1修改配额占用
问题描述: SC中配额占用跟实际资源使用不一致 SC界面显示参数: 实例已使用:35 内存已使用:440G VCPU已使用:220 云硬盘已使用:11850G/56个 SC实际统计参数: 实例已使用: ...
- AVRmega16 LED 例程
AVRmega16 LED 例程 ...
- 三层PetShop架构设计
<解剖 PetShop >系列之一 前言: PetShop 是一个范例,微软用它来展示 .Net 企业系统开发的能力.业界有许多 .Net 与 J2EE 之争,许多数据是从微软的 Pe ...
- Flink不止于计算,存算一体才是未来
"伴随着实时化浪潮的发展和深化,Flink 已逐步演进为实时流处理的领军技术和事实标准.Flink 一方面持续优化其流计算核心能力,不断提高整个行业的流计算处理标准,另一方面沿着流批一体 ...
- dp:最长非递减序列
#include <iostream.h> void main() { int i,j,a[14]={5,6,-6,-1,9,10,-5,-3,16,4,3,-4,-3,5}; int d ...
- Myql 中的事务回滚机制概述 ?
事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个 不可分割的工作单位,事务回滚是指将该事务已经完成的对数据库的更新操作撤 销.要同时修改数据库中两个不同表时,如果它们不是一个事务 ...
- BMZCTF simple_pop
simple_pop 打开题目得到源码 这边是php伪协议的考点,需要去读取useless.php 解码获得源码 <?php class Modifier { protected $var; p ...
- Linux编程 | 使用 make
目录 简单的 makefile 文件 常规的 makefile 文件 常用参数 make 内置规则 后缀和模式规则 make 管理函数库 在Linux 环境中,make 是一个非常重要的编译命令.不管 ...