Kafka 分布式发布订阅消息系统扩展包。
php >= 8.1
composer >= 2.0
RdKafka 自行安装php扩展
composer require buqiu/kafka
php artisan vendor:publish --tag=buqiu-kafka-config
'kafka' => [
'driver' => 'kafka',
'queue' => env('KAFKA_TOPIC'),
],
KAFKA_BROKERS=服务地址
KAFKA_SECURITY_PROTOCOL=SASL_SSL
KAFKA_SASL_MECHANISMS=PLAIN
KAFKA_SASL_USERNAME=用户名
KAFKA_SASL_PASSWORD=密码
KAFKA_DEBUG=false
KAFKA_TOPIC=自定义的 Topic
KAFKA_CONSUMER_GROUP_ID=自定义的 Group ID
php artisan queue:work kafka
.env
QUEUE_CONNECTION=kafka
php 代码中使用
KafkaJob::dispatch()->onQueue('default');
方式一:调用处动态指定
KafkaJob::dispatch()->onQueue('default')->onConnection('kafka');
方式二、KafkaJob 中指定连接属性(推荐)
public function __construct()
{
$this->onConnection('kafka');
}