trueifnotfalse/lumen-kafka

Lumen Queue 的 Kafka 驱动器。

1.0.0 2022-04-04 10:41 UTC

This package is auto-updated.

Last update: 2024-09-04 16:18:50 UTC


README

安装

通过 composer 安装该包

composer require trueifnotfalse/lumen-kafka

然后你应在 bootstrap/app.php 中注册服务提供者

$app->register(TrueIfNotFalse\LumenKafka\Providers\KafkaServiceProvider::class);

配置

添加到 config/queue.php

...
    'monitoring' => [
        'driver' => 'kafka',
        'brokers' => env('KAFKA_BROKERS', 'localhost'),
        'topics' => ['monitoring'],
        'group_id' => env('KAFKA_GROUP_ID', 'group'),
        'security_protocol' => env('KAFKA_SECURITY_PROTOCOL', 'PLAINTEXT'),
        'sasl' => [
            'username' => env('KAFKA_SASL_USERNAME'),
            'password' => env('KAFKA_SASL_PASSWORD'),
            'mechanisms' => env('KAFKA_SASL_MECHANISMS'),
        ],
        'handler' => MonitoringHandler::class,
    ],
...

MonitoringHandler::class

<?php

namespace App\Handlers;

use Junges\Kafka\Contracts\KafkaConsumerMessage;

class MonitoringHandler
{
    /**
     * @param KafkaConsumerMessage $message
     *
     * @return void
     */
    public function __invoke(KafkaConsumerMessage $message): void
    {
        print_r($message->getBody());
    }
}

消费者

运行

php artisan kafka:consume monitoring