Centos版本:Centos6.4,PHP版本:PHP7。
在上一篇文章中使用IP为192.168.9.154的机器安装并开启了Kafka进行了简单测试,充当了Kafka服务器。
本篇文章新开启一台IP为192.16.9.157的机器给PHP开启扩展。
找到github的扩展下载地址,这里是PHP-rdkafka,虽然PHP有一个扩展是PHP-kafka,但是PHP-rdkafka要比PHP-kafka强大。
https://github.com/arnaud-lb/PHP-rdkafka //PHP-rdkafka下载地址
在安装PHP-rdkafka之前需要给系统安装一个库,librdkafka。
https://github.com/edenhill/librdkafka //librdkafka地址
两个包都下载完之后,首先进行librdkafka的解压安装
# unzip librdkafka-master.zip # cd librdkafka-master# ./configure# make && make install
接下来编译安装PHP-rdkafka
unzip PHP-rdkafka-master.zip# cd PHP-rdkafka-master# PHPize# ./configure --with-PHP-config=/usr/local/PHP/bin/PHP-config # make && make install
Installing shared extensions: /usr/local/PHP/lib/PHP/extensions/no-deBUG-non-zts-20170718/ //so地址# vim /usr/local/PHP/etc/PHP.ini //添加下面代码extension=/usr/local/PHP/lib/PHP/extensions/no-deBUG-non-zts-20170718/rdkafka.so# service PHP-fpm restart //重启PHP
#查看扩展是否生效PHP -m | grep kafka
OK
hp *** 作kafka
运行前先开启我们的zookeeper和kafka 上篇文章有如何开启
运行producer
kafka默认端口9092
vim producer.PHP
<?PHP $rk = new RdKafka\Producer(); $rk->setLogLevel(LOG_DEBUG); $rk->addbrokers("ip:9092"); $topic = $rk->newtopic("test"); $topic->produce(RD_KAFKA_PARTITION_UA, 0, "要发送的消息");
运行consumervim consumer.PHP
<?PHP $rk = new RdKafka\Consumer(); $rk->setLogLevel(LOG_DEBUG); $rk->addbrokers("ip"); $topic = $rk->newtopic("test"); $topic->consumeStart(0, RD_KAFKA_OFFSET_BEGINNING); while(true){ sleep(1); $msg = $topic->consume(0, 1000); if ($msg) { echo $msg->payload, "\n"; } }
开启两个窗口一个运行consumer 一个运行producer
PHP consumer.PHP
PHP producer.PHP
会发现我们已经简单的会使用kafka了。
总结
以上是内存溢出为你收集整理的消息中间件Kafaka - PHP *** 作使用Kafka全部内容,希望文章能够帮你解决消息中间件Kafaka - PHP *** 作使用Kafka所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)