zoukankan      html  css  js  c++  java
  • 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);
    }
    

      

  • 相关阅读:
    python笔记005-字符串-列表-元组
    Python笔记2 标准数据类型
    VS2010与VAssistX
    【Windows核心编程】Windows常见数据类型
    网络安全加密
    防御 XSS 的七条原则
    用户权限初略设计
    [Android]Handler的消息机制
    java的线程中的Runnable
    [转]永久告别Android的背景选择器Selector!无需切很多图了!
  • 原文地址:https://www.cnblogs.com/pangxiaox/p/11070926.html
Copyright © 2011-2022 走看看