sadegh2007/laravel_queue_kafka

0.0.2 2021-05-23 13:14 UTC

This package is auto-updated.

Last update: 2024-09-23 20:40:32 UTC


README

Laravel 的 Kafka 队列驱动器

安装

您可以通过使用以下命令通过 composer 安装此包:

composer require sadegh2007/laravel_queue_kafka

此包将自动注册自身。

将连接添加到 config/queue.php

'connections' => [
    // ...

    'kafka' => [
        'driver' => 'kafka',
        'sleep_on_error' => env('KAFKA_SLEEP_ON_ERROR', 5),
        'topics' => env('KAFKA_TOPICS', 'default'),
        'debug' => env('KAFKA_DEBUG', false),
        'brokers' => env('KAFKA_BROKERS', 'localhost:9092'),
        'auto_commit' => 'false',
        'group_id' => 'myConsumerGroup',
        'consumer' => [
            'sasl.username' => env('KAFKA_USERNAME', null),
            'sasl.password' => env('KAFKA_PASSWORD', null),
            'auto.offset.reset' => 'smallest',
            'security.protocol' => env('KAFKA_SECURITY_PROTOCOL', 'SASL_SSL'),
            'sasl.mechanisms' => env('KAFKA_SASL_MECHANISMS', 'SCRAM-SHA-256'),
            'compression.type' => 'gzip',
        ],
        'producer' => [
            'sasl.username' => env('KAFKA_USERNAME', null),
            'sasl.password' => env('KAFKA_PASSWORD', null),
            'security.protocol' => env('KAFKA_SECURITY_PROTOCOL', 'SASL_SSL'),
            'sasl.mechanisms' => env('KAFKA_SASL_MECHANISMS', 'SCRAM-SHA-256'),
            'compression.type' => 'gzip',
            'log_level' => LOG_DEBUG,
            'debug' => 'all'
        ]
    ],

    // ...
],

Lumen 使用

对于 Lumen 使用,应该在 bootstrap/app.php 中手动注册服务提供者,如下所示:

$app->register(Sadeq\LaravelQueueKafka\KafkaServiceProvider::class);

消费消息

目前有几种消费消息的方法。

  1. 此包提供的 kafka:consume 命令。

您可以使用命令选项 --topics=default 指定主题

贡献

您可以通过发现错误和提交问题来为此包做出贡献。请确保在您创建的 pull request 或问题中注明包的版本。