说到kafka,这个还得从前几天面试说起,当时面试官跟我聊起了他们公司项目运用的架构:swoole结合kafka实现的超高性能消息队列!作为一个developer,对这种有超高性能的架构一直都是见猎心喜的,于是回家之后立马开始了研究,那咱废话不多说,开始准备工作-环境搭建。
因为swoole扩展已经安装好了,至于怎么安装的,请参考:CentOS 安装 Swoole 扩展,然后就是这个kafka扩展,这个扩展是用C写的,直接通过pecl安装。安装这个插件有个前提条件,必须先安装 librdkafka:
git clone https://github.com/edenhill/librdkafka.git cd librdkafka phpize ./configure make make install
安装好后,直接用pecl安装即可。
pecl install rdkafka
但是,有时因为环境不同,上面这个命令可能会报错:
Package "rdkafka" Version "4.0.3" does not have REST xml available install failed
莫慌,此时更改写法即可:
pecl install http://pecl.php.net/get/rdkafka-4.0.3.tgz #最后执行: echo "extension=rdkafka" > /usr/local/php/etc/php.ini
完美编译,然后重启php-fpm。包地址来自PHP官方扩展库https://pecl.php.net/。
源码安装:
git clone https://github.com/edenhill/librdkafka.git cd librdkafka /usr/local/php/bin/phpize ./configure #注:php默认安装路径可不写-with-php,否则要指定php-config所在位置。 #例:./configure --with-php-config=/usr/local/php/bin/php-config make make install #如不出错,则 echo "extension=rdkafka.so" > /usr/local/php/etc/php.ini
来源:https://www.cnblogs.com/gwyy/p/12206176.html