赞
踩
windows 环境
1.zookeeper 启动命令 (注意:因我的config在bin同级目录,故…/…/)
bin/windows/zookeeper-server-start.bat ../../config/zookeeper.properties &
2.kafka 启动命令 (注意:因我的config在bin同级目录,故…/…/)
bin/windows/kafka-server-start.bat ../../config/server.properties &
3.创建 topic:
bin/windows/kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
.4.查看创建的topic
bin/windows/kafka-topics.bat --list --bootstrap-server localhost:9092
- 启动生产者producer
bin/windows/kafka-console-producer.bat --broker-list localhost:9092 --topic test
6.启动消费者 customer
bin/windows/kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
7、生产者代码: producer.php
<?php /** * Created by PhpStorm. * User: shiyibo * Date: 2019/2/24 * Time: 12:57 PM */ /** * 消息生产者 * * 实现的例子来源于: * * https://github.com/arnaud-lb/php-rdkafka#examples */ $objRdKafka = new RdKafka\Producer(); $objRdKafka->setLogLevel(LOG_DEBUG); $objRdKafka->addBrokers("localhost:9092"); $oObjTopic = $objRdKafka->newTopic("test"); // 从终端接收输入 $oInputHandler = fopen('php://stdin', 'r'); while (true) { echo "\nEnter messages:\n"; $sMsg = trim(fgets($oInputHandler)); // 空消息意味着退出 if (empty($sMsg)) { break; } // 发送消息 $oObjTopic->produce(RD_KAFKA_PARTITION_UA, 0, $sMsg); } echo "done\n";
8、消费者代码:consumer.php
<?php /** * 消费者消费消息 * * 实现的例子来源于: * * https://github.com/arnaud-lb/php-rdkafka#examples */ $objRdKafka = new RdKafka\Consumer(); $objRdKafka->setLogLevel(LOG_DEBUG); $objRdKafka->addBrokers("localhost:9092"); $oObjTopic = $objRdKafka->newTopic("test"); /** * consumeStart * 第一个参数标识分区,生产者是往分区0发送的消息,这里也从分区0拉取消息 * 第二个参数标识从什么位置开始拉取消息,可选值为 * RD_KAFKA_OFFSET_BEGINNING : 从开始拉取消息 * RD_KAFKA_OFFSET_END : 从当前位置开始拉取消息 * RD_KAFKA_OFFSET_STORED : 猜测跟RD_KAFKA_OFFSET_END一样 */ $oObjTopic->consumeStart(0, RD_KAFKA_OFFSET_END); while (true) { // 第一个参数是分区,第二个参数是超时时间 $oMsg = $oObjTopic->consume(0, 1000); // 没拉取到消息时,返回NULL if (!$oMsg) { usleep(10000); continue; } if ($oMsg->err) { echo $msg->errstr(), "\n"; break; } else { echo $oMsg->payload, "\n"; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。