php測(cè)試kafka項(xiàng)目示例
本文實(shí)例講述了php測(cè)試kafka項(xiàng)目。分享給大家供大家參考,具體如下:
概述
Kafka是最初由Linkedin公司開(kāi)發(fā),是一個(gè)分布式、分區(qū)的、多副本的、多訂閱者,基于zookeeper協(xié)調(diào)的分布式日志系統(tǒng)(也可以當(dāng)做MQ系統(tǒng)),常見(jiàn)可以用于web/nginx日志、訪問(wèn)日志,消息服務(wù)等等,Linkedin于2010年貢獻(xiàn)給了Apache基金會(huì)并成為頂級(jí)開(kāi)源項(xiàng)目。
主要應(yīng)用場(chǎng)景是:日志收集系統(tǒng)和消息系統(tǒng)。
安裝kafka-php項(xiàng)目依賴
composer require nmred/kafka-php
produce.php
<?php require './vendor/autoload.php'; date_default_timezone_set('PRC'); $config = \Kafka\ProducerConfig::getInstance(); $config->setMetadataRefreshIntervalMs(10000); $config->setMetadataBrokerList('127.0.0.1:9092'); $config->setBrokerVersion('0.10.2.1'); $config->setRequiredAck(1); $config->setIsAsyn(false); $config->setProduceInterval(500); $producer = new \Kafka\Producer(function() { $t = time(); return array( array( 'topic' => 'test', 'value' => $t, 'key' => $t, ), ); }); $producer->success(function($result) { var_export($result); }); $producer->error(function($errorCode) { var_dump('error', $errorCode); }); $producer->send();
consumer.php
<?php require './vendor/autoload.php'; date_default_timezone_set('PRC'); $config = \Kafka\ConsumerConfig::getInstance(); $config->setMetadataRefreshIntervalMs(10000); $config->setMetadataBrokerList('127.0.0.1:9092'); $config->setGroupId('test'); $config->setBrokerVersion('0.10.2.1'); $config->setTopics(array('test')); $consumer = new \Kafka\Consumer(); $consumer->start(function($topic, $part, $message) { var_dump($message); });
測(cè)試生產(chǎn)者
php produce.php
測(cè)試消費(fèi)者
php consumer.php
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
解決Mac OS X 自帶PHP環(huán)境gd庫(kù)擴(kuò)展缺少freetype的問(wèn)題
下面小編就為大家分享一篇解決Mac OS X 自帶PHP環(huán)境gd庫(kù)擴(kuò)展缺少freetype的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03關(guān)于php支持的協(xié)議與封裝協(xié)議總結(jié)(推薦)
這篇文章主要給大家介紹了關(guān)于php支持的協(xié)議與封裝協(xié)議的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用PHP具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11PHP中error_reporting()函數(shù)的用法(修改PHP屏蔽錯(cuò)誤)
一般在默認(rèn)的普通PHP文件中輸出一個(gè)未定義聲明的變量是不會(huì)報(bào)錯(cuò)誤的,但在codeigniter框架下卻要報(bào)錯(cuò)誤,這對(duì)于想集成 添加 和 修改 頁(yè)面于一體的”懶人”很不方便,由于是初學(xué)者開(kāi)始還想怎么在代碼中屏蔽這一錯(cuò)誤提示呢.甚至用到了@,但聽(tīng)很多人都說(shuō)@會(huì)大大降低性能.2011-07-07php中g(shù)etservbyport與getservbyname函數(shù)用法實(shí)例
這篇文章主要介紹了php中g(shù)etservbyport與getservbyname函數(shù)用法,以實(shí)例形式分析了getservbyport與getservbyname函數(shù)獲取server端的端口等信息的方法,需要的朋友可以參考下2014-11-11