美文网首页
[PHP] Rabbit MQ 扇形交换机

[PHP] Rabbit MQ 扇形交换机

作者: 不留余白 | 来源:发表于2021-05-21 11:13 被阅读0次

扇形交换机会把消息发送到交换机上的所有队列中。


fanout类型工作原理

生产者

use PhpAmqpLib\Exchange\AMQPExchangeType;

require_once __DIR__ . '/../../vendor/autoload.php';

$queue = 'fanout_queue';
$exchange = 'fanout_exchange';
$conn = new \PhpAmqpLib\Connection\AMQPStreamConnection('localhost', '5672', 'guest', 'guest');
$channel = $conn->channel();
$channel->exchange_declare($exchange,AMQPExchangeType::FANOUT,false,false,false);
$channel->queue_declare($queue, false, false, false, false);
$channel->queue_bind($queue, $exchange);
$channel->basic_publish(new \PhpAmqpLib\Message\AMQPMessage('fanout msg coming'),$exchange);
$channel->close();
$conn->close();

消费者

$queue='fanout_queue';
$exchange='fanout_exchange';
$conn=new \PhpAmqpLib\Connection\AMQPStreamConnection('localhost','5672','guest','guest');
$channel = $conn->channel();
$channel->exchange_declare($exchange,'fanout',false,false,false);
$channel->queue_declare($queue,false,false,false,false);
$channel->queue_bind($queue,$exchange);
$channel->basic_consume($queue,'',false,true,false,false,function ($msg){
    echo '[fanout_queue]'.$msg->body.PHP_EOL;
});
while ($channel->is_consuming()){
    $channel->wait();
}
$channel->close();
$conn->close();

相关文章

  • [PHP] Rabbit MQ 扇形交换机

    扇形交换机会把消息发送到交换机上的所有队列中。 生产者 消费者

  • [PHP] Rabbit MQ 直连交换机

    直连型交换机(direct exchange)是根据消息携带的路由键(routing key)将消息投递给对应队列...

  • spring 使用 rabbit mq

    rabbit mq 安装 brew 安装 rabbit mq后台rabbit mq后台 用户名:guest 密码...

  • Rabbit MQ & NodeJS & Protobuf

    Rabbit MQ & NodeJS & Protobuf 一、NodeJS Rabbit MQ 客户端封装 ...

  • 【轻知识】phper的rabbit mq 初看

    初看 Rabbit MQ vmware 虚拟机centos 7 环境搭建 erlang跟rabbit mq 我都是...

  • Rabbit MQ 与 NodeJS

    amqplib包提供了js访问Rabbit MQ 的接口 安装rabbit MQ 此时,通过 http://loc...

  • RabbitMQ学习1--安装

    首先Rabbit MQ 是建立在强大的Erlang OTP平台上,因此安装Rabbit MQ的前提是安装Erlan...

  • rabbit mq

    2019-10-14 zhanghang

  • Rabbit MQ

    为啥要用MQ 1. 消费方不需要实时等待依赖上一个任务的执行结果,只要生产者随时发送消息,消费者随时可接受消息调用...

  • Rabbit MQ

    简介 RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件) 高级消息队列...

网友评论

      本文标题:[PHP] Rabbit MQ 扇形交换机

      本文链接:https://www.haomeiwen.com/subject/akcwjltx.html