亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php kafka使用

2020-03-22 18:41:18
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了php kafka使用 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

一、安裝以及使用shell命令終端操作kafka
環境配置
1、下載最新版本的kafka: kafka_2.11-1.0.0.tgz
http://mirrors.shu.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz

2、配置,解壓后進入config目錄
2.1、配置zookeeper.properties
默認監聽端口2181

2.2、配置server.properties
開啟監聽端口,比如監聽本地
listeners=PLAINTEXT://10.168.1.99:9092

3、啟動
3.1、啟動zookeeper
./bin/zookeeper-server-start.sh config/zookeeper.properties

3.2、啟動server
./bin/kafka-server-start.sh config/server.properties

此處啟動server時報錯內存不足,解決方案要么加大系統內存,要么調小kafka需求內存
我這是調小kafka啟動所需內存大小
vim kafka-server-start.sh
把其中:export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
改為:export KAFKA_HEAP_OPTS="-Xmx512M -Xms512M"

4、啟動測試的消費者,并監聽topic的test
./bin/kafka-console-consumer.sh --zookeeper 10.168.1.99:2181 --topic test --from-beginning

5、啟動測試的生產者,并監聽topic的test
./bin/kafka-console-producer.sh --broker-list 10.168.1.99:9092 --topic test

此時,在生產者中輸入數據后回車后,在消費者終端可以看到生產者產生的信息


二、使用PHP操作kafka

1、安裝kafka的擴展php-rdkafka
1.1、在安裝php-rdkafka之前,需要先安裝librdkafka
git clone http://github.com/edenhill/librdkafka.git
./configure
make && make install

1.2、安裝php-rdkafka
git clone http://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
phpize
./configure
make && make install

2、編寫kafka生產者和消費者類


<?php/** * Kafka.php. * User: lvfk * Date: 2018/2/7 0007 * Time: 11:04 * Desc: Kafka服務 */namespace app/models;use yii/base/InvalidConfigException;html' target='_blank'>class Kafka{    public $broker_list = '10.168.1.99:9092';//配置kafka,可以用逗號隔開多個kafka    public $topic = 'topic';    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 = $this->producer->newTopic($this->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);        }    }}


3、配置


//配置kafka生產者'asyncLog' => [    'class' => '//app//models//Kafka',    'broker_list' => '10.168.1.99:9092',    'topic' => 'asynclog']


4、在業務代碼中生產消息
/Yii::$app->asyncLog->send(['this is IndexController,'.date('y-md H:i:s',time())]);


5、在yii的command中消費

5.1、編寫KafkaController.php


<?php/** * @link http://www.yiiframework.com/ * @copyright Copyright (c) 2008 Yii Software LLC * @license http://www.yiiframework.com/license/ */namespace app/commands;use yii/console/Controller;/** * This command echoes the first argument that you have entered. * * This command is provided as an example for you to learn how to create console commands. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 2.0 */class KafkaController extends Controller{    /**     * This command echoes what you have entered as the message.     * @param string $message the message to be echoed.     */    public function actionConsume()    {        /Yii::$app->asyncLog->consumer($this, 'callback');    }    public function callback($message)    {        /Yii::info($message, 'testkafka');        /Yii::$app->log->setflushInterval(1);    }}


5.2、運行:
./yii kafka/consume


6、當第4步中生產數據后,在第5步的終端可以消費數據


相關推薦:

php發送數據到kafka實現代碼

linux下php擴展kafka的實例分享

以上就是php kafka使用 的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
夜夜狂射影院欧美极品| 亚洲欧美日韩天堂一区二区| 久久影院中文字幕| 最近2019年好看中文字幕视频| 久久久久久国产精品三级玉女聊斋| 久久久亚洲影院你懂的| 欧美精品videofree1080p| 亚洲美女中文字幕| 日韩欧美在线视频日韩欧美在线视频| 97久久精品人人澡人人爽缅北| 久久影视电视剧凤归四时歌| 成人乱色短篇合集| 日本精品久久电影| 亚洲国产高清自拍| 久久婷婷国产麻豆91天堂| 欧美一区二区大胆人体摄影专业网站| 国产一区香蕉久久| 成人激情电影一区二区| 日韩免费在线播放| 在线精品视频视频中文字幕| 欧美成人第一页| 日韩av在线影视| 欧美电影免费观看网站| 国产999精品视频| 在线电影欧美日韩一区二区私密| 成人午夜高潮视频| 欧美成人免费观看| 精品欧美激情精品一区| 精品国产欧美一区二区五十路| 亚洲aⅴ日韩av电影在线观看| 欧美性猛交xxxx久久久| 亚洲国产精品久久久久秋霞蜜臀| 欧美疯狂xxxx大交乱88av| 亚洲中国色老太| 最近中文字幕mv在线一区二区三区四区| 日韩精品福利在线| 欧美精品videossex88| 欧美另类极品videosbestfree| 亚洲a∨日韩av高清在线观看| 日韩在线高清视频| 国产精品美女www| 日韩精品视频免费| 国内精品一区二区三区| 96精品久久久久中文字幕| 日韩欧美主播在线| 日韩中文字幕av| 欧美精品videossex性护士| 欧美一区在线直播| 51精品国产黑色丝袜高跟鞋| 国产成人综合精品| 久久久久国产视频| 欧美区二区三区| 91精品国产综合久久久久久久久| 亚洲综合在线做性| 国模精品视频一区二区| 2020欧美日韩在线视频| 中文字幕精品久久| 91精品国产91久久久久久久久| 亚洲人成亚洲人成在线观看| 欧美成人h版在线观看| 亚洲成av人影院在线观看| 91精品啪在线观看麻豆免费| 亚洲欧美在线x视频| 精品国产成人在线| 日韩电影第一页| 992tv成人免费视频| 91久久国产综合久久91精品网站| 亚洲欧洲av一区二区| 亚洲影院色无极综合| 狠狠色香婷婷久久亚洲精品| 日韩美女视频免费看| 亚洲品质视频自拍网| 国产精品美女久久久久av超清| 91精品久久久久久久久不口人| 国产一区二区三区在线| 欧美自拍大量在线观看| 欧美激情视频免费观看| 中文字幕日韩欧美在线视频| 国产精品嫩草影院久久久| www.xxxx欧美| 91成人天堂久久成人| 欧美激情精品久久久久久黑人| 亚洲自拍偷拍视频| 亚洲欧美国产制服动漫| 中文字幕久精品免费视频| 欧美一级片久久久久久久| 午夜精品三级视频福利| 91高清视频免费| 亚洲最大中文字幕| 在线性视频日韩欧美| 亚洲欧美在线一区二区| 国产日韩中文字幕| 亚洲区一区二区| 国产亚洲一级高清| 国产精品久久久久久久天堂| 插插插亚洲综合网| 欧美视频在线观看免费网址| 欧美另类老肥妇| 欧美大码xxxx| 日韩禁在线播放| 亚洲最新视频在线| 这里只有精品在线观看| 欧美视频一区二区三区…| 国产成人在线视频| 国产亚洲精品一区二555| 久久精品视频中文字幕| 亚洲国产另类 国产精品国产免费| 97精品国产97久久久久久| 久久成人亚洲精品| 亚洲欧美一区二区激情| 91精品综合久久久久久五月天| 日韩精品免费视频| 欧美精品videos性欧美| 欧美亚洲免费电影| 亚洲a成v人在线观看| 亚洲精品之草原avav久久| 日韩电影大片中文字幕| 日韩一区二区三区国产| 日本人成精品视频在线| 成人免费激情视频| 国产精品无码专区在线观看| 亚洲国产成人爱av在线播放| 亚洲欧洲中文天堂| 91亚洲国产成人精品性色| 欧美日韩成人在线观看| 668精品在线视频| 日韩在线观看免费网站| 日本精品免费观看| 国产精品成人一区| 精品国产欧美一区二区三区成人| 亚洲第一福利视频| 日本亚洲欧美三级| **欧美日韩vr在线| 亚洲欧美日韩国产中文| 欧美大片网站在线观看| 精品久久久国产精品999| 亚洲天堂成人在线视频| 日韩电影免费观看在线观看| 日韩免费不卡av| 浅井舞香一区二区| 国产精品揄拍一区二区| 911国产网站尤物在线观看| 日韩美女激情视频| 亚洲精品网址在线观看| 中日韩午夜理伦电影免费| 国产成人小视频在线观看| 久久在线精品视频| 亚洲国产精品久久久久久| 国产婷婷97碰碰久久人人蜜臀| 久久久久久久香蕉网| 国内精品国产三级国产在线专| 国产精品ⅴa在线观看h| 高清视频欧美一级| 2019中文字幕免费视频| 成人免费网站在线观看| 91久久精品美女高潮| 色婷婷综合久久久久| 亚洲国产精品电影在线观看| 久久久精品2019中文字幕神马| 亚洲人成绝费网站色www| 福利一区视频在线观看| 国产精品久久久久久网站| 国产97免费视| 91夜夜揉人人捏人人添红杏|