校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Laravel中Kafka的使用詳解

Laravel中Kafka的使用詳解

熱門標簽:常州地圖標注服務商 衡水外呼系統平臺 新河科技智能外呼系統怎么樣 福州人工外呼系統哪家強 百度商鋪地圖標注 地圖標注平臺怎么給錢注冊 注冊400電話申請 安裝電銷外呼系統 釘釘打卡地圖標注

本文并沒有kafka的安裝教程,本文是針對已經安裝kafka及其配置好kafka的php拓展并且使用laravel框架進行開發項目,配置一個可供laravel框架使用的生產及消費者類.

以下代碼修改自本站的YII框架關于kafka類的代碼,經過測試使用在本人的項目中,可正常運行,larvael版本:5.6 代碼放置larvael框架位置:app/Tools/Kafka.php

?php
namespace App\Tools;
 
use Illuminate\Config\Repository;
 
use Illuminate\Support\Facades\DB;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
 
use Illuminate\Http\Request;
 
class Kafka
{
  public $broker_list = '127.0.0.1';//配置kafka,可以用逗號隔開多個kafka
  public $topic = 'test';//管道名稱
  public $partition = 0;
 
  protected $producer = null;
  protected $consumer = null;
 
  public function __construct()
  {
    if (empty($this->broker_list)) {
      throw new InvalidConfigException("broker not config");
    }
    $rk = new \RdKafka\Producer();
    if (empty($rk)) {
      throw new InvalidConfigException("producer error");
    }
    $rk->setLogLevel(LOG_DEBUG);
    if (!$rk->addBrokers($this->broker_list)) {
      throw new InvalidConfigException("producer error");
    }
    $this->producer = $rk;
  }
 
  /**
   * 生產者
   * @param array $messages
   * @return mixed
   */
  public function send($messages = [],$topic)
  {
    $topic = $this->producer->newTopic($topic);
    return $topic->produce(RD_KAFKA_PARTITION_UA, $this->partition, json_encode($messages));
  }
 
  /**
   * 消費者
   */
  public function consumer($object, $callback){
    $conf = new \RdKafka\Conf();
    $conf->set('group.id', 0);
    $conf->set('metadata.broker.list', $this->broker_list);
 
    $topicConf = new \RdKafka\TopicConf();
    $topicConf->set('auto.offset.reset', 'smallest');
 
    $conf->setDefaultTopicConf($topicConf);
 
    $consumer = new \RdKafka\KafkaConsumer($conf);
 
    $consumer->subscribe([$this->topic]);
 
    echo "waiting for messages.....\n";
    while(true) {
      $message = $consumer->consume(120*1000);
      switch ($message->err) {
        case RD_KAFKA_RESP_ERR_NO_ERROR:
          echo "message payload....";
          $object->$callback($message->payload);
          break;
      }
      sleep(1);
    }
  }
}
?>

在控制器中如何使用:

首先再頭部導入這個類:use App\Tools\Kafka;

下面是使用生產者實例:

public function test(){
 
   $topic = 'tool';//輸入使用管道名稱
   $data['shop_id'] = 58;
   $data['bar_code']=586;
   $data['goods_num'] = 1;
   $data['goods_unit'] = '個';
 
$Kafka = new Kafka();
$Error_Msg = $Kafka->send($data,$topic);//傳入數組會自動轉換json
var_dump($Error_Msg);
 
 
  }

下面是消費者實例,消費者我這里使用了的是php腳本進行的操作:

?php
 
$conf = new RdKafka\Conf();
 
$conf->set('group.id', 'myConsumerGroup');
 
$rk = new RdKafka\Consumer($conf);
$rk->addBrokers("localhost:9092");
 
$topicConf = new RdKafka\TopicConf();
$topicConf->set('auto.commit.interval.ms', 100);
$topicConf->set('offset.store.method', 'file');
$topicConf->set('offset.store.path', sys_get_temp_dir());
$topicConf->set('auto.offset.reset', 'smallest');
 
$topic = $rk->newTopic("tool", $topicConf);//讀取的管道
 
// Start consuming partition 0
$topic->consumeStart(0, RD_KAFKA_OFFSET_STORED);
 
while (true) {
  $message = $topic->consume(0, 120*10000);
  switch ($message->err) {
    case RD_KAFKA_RESP_ERR_NO_ERROR:
    //沒有錯誤打印信息
      $message = json_decode(json_encode($message),true);
      $data = json_decode($message['payload'],true);
      var_dump($data);
      break;
    case RD_KAFKA_RESP_ERR__PARTITION_EOF:
      echo "等待接收信息\n";
      break;
    case RD_KAFKA_RESP_ERR__TIMED_OUT:
      echo "超時\n";
      break;
    default:
      throw new \Exception($message->errstr(), $message->err);
      break;
  }
 sleep(1);
}
 
?>

到此這篇關于Laravel中Kafka的使用詳解的文章就介紹到這了,更多相關Laravel中Kafka內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 淺談Laravel中使用Slack進行異常通知
  • 如何用Laravel包含你自己的幫助函數
  • 詳解Laravel框架的依賴注入功能
  • php+laravel 掃碼二維碼簽到功能
  • laravel的數據表填充器使用詳解
  • laravel ajax curd 搜索登錄判斷功能的實現
  • laravel使用redis隊列實例講解
  • Laravel的加密解密與哈希實例講解
  • Laravel中10個有用的用法小結
  • 分析五個Laravel Dusk的使用技巧

標簽:克拉瑪依 唐山 遼陽 鶴崗 鷹潭 柳州 白城 六安

巨人網絡通訊聲明:本文標題《Laravel中Kafka的使用詳解》,本文關鍵詞  Laravel,中,Kafka,的,使用,詳解,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Laravel中Kafka的使用詳解》相關的同類信息!
  • 本頁收集關于Laravel中Kafka的使用詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    狠狠狠色丁香婷婷综合激情| 最近中文字幕一区二区三区| 青青草国产精品亚洲专区无| 欧美日韩一区三区四区| 亚洲一区影音先锋| 69堂成人精品免费视频| 久久精品72免费观看| 精品国产成人在线影院| 国产成人av网站| 亚洲欧美国产毛片在线| 欧美日韩精品一区视频| 日本视频一区二区三区| 26uuu另类欧美亚洲曰本| 国产精品99久久久久久似苏梦涵| 国产日本欧美一区二区| av一二三不卡影片| 亚洲一区二区美女| 欧美www视频| 成人精品国产福利| 一区二区三区在线观看国产| 91精品久久久久久久99蜜桃 | jlzzjlzz亚洲女人18| 成人免费一区二区三区视频| 欧美日韩在线亚洲一区蜜芽| 三级亚洲高清视频| 中文字幕精品综合| 欧美性色综合网| 麻豆国产91在线播放| 国产精品色在线| 欧美丝袜丝nylons| 国产乱人伦偷精品视频免下载 | www.亚洲激情.com| 午夜视频一区二区三区| 久久蜜臀精品av| 在线观看日韩av先锋影音电影院| 青青草视频一区| 国产精品国产馆在线真实露脸| 欧美午夜一区二区| 懂色av一区二区三区免费观看| 一区二区在线免费观看| 精品乱码亚洲一区二区不卡| 99久久99久久综合| 蜜乳av一区二区| 亚洲你懂的在线视频| 精品久久久三级丝袜| 91国产丝袜在线播放| 国产一区中文字幕| 亚洲成国产人片在线观看| 国产欧美一区二区精品忘忧草 | 99re亚洲国产精品| 美女视频黄久久| 亚洲一区免费观看| 国产精品久久影院| 久久蜜桃av一区二区天堂| 欧美日韩中文国产| 91丝袜国产在线播放| 国产一区二区日韩精品| 日韩中文欧美在线| 亚洲精品伦理在线| 中文av一区二区| 久久网这里都是精品| 欧美一区在线视频| 欧美日韩国产免费一区二区| 91视频免费播放| 国产精品888| 加勒比av一区二区| 蜜臀国产一区二区三区在线播放| 亚洲一区二区三区影院| 亚洲欧美日韩电影| 中文字幕在线不卡一区| 国产亚洲成aⅴ人片在线观看 | 欧美午夜电影一区| 94色蜜桃网一区二区三区| 国产激情91久久精品导航| 精品无人码麻豆乱码1区2区| 石原莉奈在线亚洲三区| 性久久久久久久久| 亚洲国产一二三| 亚洲午夜精品17c| 香港成人在线视频| 日韩国产欧美视频| 日本成人在线不卡视频| 免费成人av在线播放| 日本v片在线高清不卡在线观看| 亚洲午夜视频在线| 婷婷综合久久一区二区三区| 首页综合国产亚洲丝袜| 日本成人在线不卡视频| 久久精品国产一区二区| 久久国产精品第一页| 狠狠色丁香婷婷综合久久片| 精品亚洲免费视频| 国产精品一区二区在线看| 国产精品影视天天线| 国产精品亚洲午夜一区二区三区 | 日韩av在线播放中文字幕| 天天色图综合网| 免费看欧美美女黄的网站| 蜜桃视频免费观看一区| 国产精品456| 成人精品国产一区二区4080| 97成人超碰视| 欧美猛男男办公室激情| 精品国精品国产尤物美女| 久久久精品人体av艺术| 国产精品久久久久久福利一牛影视 | 日韩一区二区三区四区| 国产日韩欧美精品综合| 亚洲欧洲精品天堂一级| 无码av免费一区二区三区试看 | 国产精品女同一区二区三区| 亚洲精品少妇30p| 日韩精品视频网| 粉嫩高潮美女一区二区三区| 欧美性受xxxx黑人xyx性爽| 日韩精品一区二区三区中文不卡 | 成人亚洲一区二区一| 欧美在线视频不卡| 精品国产sm最大网站免费看| 国产精品卡一卡二| 日韩国产在线一| 成人午夜av电影| 欧美一激情一区二区三区| 日本一区二区三区免费乱视频| 一区二区三区91| 国产一区亚洲一区| 欧美自拍偷拍一区| 国产亚洲成av人在线观看导航| 亚洲国产精品久久久久婷婷884| 国产一区二区成人久久免费影院| 色偷偷88欧美精品久久久| 欧美变态tickle挠乳网站| 亚洲激情中文1区| 国产福利视频一区二区三区| 欧美亚洲国产bt| 中文字幕一区视频| 国模大尺度一区二区三区| 欧美伊人精品成人久久综合97| 欧美国产日韩一二三区| 久久国产精品72免费观看| 欧美亚洲高清一区二区三区不卡| 国产婷婷色一区二区三区在线| 日韩电影在线一区| 日本伦理一区二区| 欧美国产综合色视频| 久久精品国产第一区二区三区| 欧美伊人久久大香线蕉综合69| 国产精品污www在线观看| 毛片不卡一区二区| 欧美精三区欧美精三区| 亚洲免费观看在线视频| 国产成人精品午夜视频免费| 日韩免费视频一区| 日韩电影在线看| 欧洲另类一二三四区| 亚洲视频精选在线| 成人av资源站| 国产日韩欧美不卡| 国产综合久久久久久鬼色 | 精品美女一区二区三区| 日韩黄色免费电影| 欧美情侣在线播放| 夜夜嗨av一区二区三区| 91亚洲大成网污www| 国产精品久久久久久久久免费桃花| 国产一区在线观看视频| 精品国产免费人成在线观看| 人人狠狠综合久久亚洲| 777色狠狠一区二区三区| 午夜精品成人在线视频| 欧美肥妇bbw| 免费在线成人网| 日韩色在线观看| 久久99精品视频| 亚洲精品一区二区三区福利 | 国产黄人亚洲片| 国产日产欧美一区二区视频| 国产精品一区2区| 中文字幕高清一区| 大尺度一区二区| 日韩一区在线看| 91国偷自产一区二区开放时间| 亚洲综合免费观看高清完整版 | 欧美精品18+| 精品一区二区三区视频在线观看| 日韩女优毛片在线| 久久99精品久久久久久动态图| 2023国产精品| 国产成人av在线影院| 综合久久国产九一剧情麻豆| 色婷婷久久久综合中文字幕| 亚洲一区二区三区中文字幕 | 日韩午夜精品视频| 韩国精品久久久| 一区视频在线播放| 欧美色网站导航| 激情欧美日韩一区二区| 欧美激情中文不卡| 色94色欧美sute亚洲线路一ni| 日韩中文字幕av电影|