kafdrop和php,消息中间件Kafaka - PHP操作使用Kafka

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

9f16e5cd73838adcbe1376188022df71.png

OK

hp操作kafka

运行前先开启我们的zookeeper和kafka 上篇文章有如何开启

运行producer

kafka默认端口9092

vim producer.php

$rk = new RdKafka\Producer();

$rk->setLogLevel(LOG_DEBUG);

$rk->addBrokers("ip:9092");

$topic = $rk->newTopic("test");

$topic->produce(RD_KAFKA_PARTITION_UA, 0, "要发送的消息");

运行consumer

vim consumer.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了。

标签:librdkafka,Kafka,topic,Kafaka,rdkafka,消息中间件,kafka,php,local

来源: https://www.cnblogs.com/yszr/p/11870724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值