使用Rdkafka
Rdkafka是PHP连接kafka的扩展,跟mysqli,redis同理
rdkakfka 文档地址:https://arnaud.le-blanc.net/php-rdkafka-doc/phpdoc/book.rdkafka.html
High-level consumer 是高级消费者,Low-level consumer 是低级消费者模式
两者区别是,高级的基本用的是那些已经封装好的函数,很多配置项不需要你配置,不过自由度不高
低级的是使用未封装好的函数,很多配置项给自己配置,就是很麻烦,其实很多配置用默认的才是最优解,自己瞎设置有时候反而效率更差
所以我这边推荐使用高级模式
具体代码直接复制官网的demo改成自己想要的方法就好
这里主要是讨论一个问题,高级模式下,如何让多个消费者消费同一个主题,这种场景主要是当生产者突然大批量生产主题的时候,一个消费者估计吃不消;因为kafka只允许同一个组别的只有一个消费者来消费队列
方法:将数据平均的分在不同的主题下,然后开启多个消费者对这些主题进行消费
生产者代码如下