arquivei/laravel-kafka-queue-connector

此包已被废弃,不再维护。未建议替代包。

Laravel Kafka 队列驱动

1.2.0 2019-03-14 21:48 UTC

This package is auto-updated.

Last update: 2020-04-15 01:10:18 UTC


README

Laravel Kafka 队列驱动

安装

  1. 安装 librdkafka C 库

    $ cd /tmp
    $ mkdir librdkafka
    $ cd librdkafka
    $ git clone https://github.com/edenhill/librdkafka.git .
    $ ./configure
    $ make
    $ make install
  2. 安装 php-rdkafka PECL 扩展

    $ pecl install rdkafka
  3. 在您的 php.ini 文件中添加以下内容以启用 php-rdkafka 扩展 extension=rdkafka.so

  4. 使用 composer 安装此包

    composer require arquivei/laravel-kafka-queue-connector

  5. config/queue.php 文件中的 connections 部分添加队列配置

    'kafka' => [
        'driver' => 'kafka',
        'queue' => env('KAFKA_QUEUE', 'default'),
        'brokers' => env('KAFKA_BROKERS', 'localhost'),
        'sleep_on_error' => env('KAFKA_ERROR_SLEEP', 5),
        'security.protocol' => env('SECURITY_PROTOCOL', 'PLAINTEXT'),
        'group.id' => env('GROUP_ID', 'php-kafka'),
        'sasl' => [
            'mechanisms' => env('SASL_MECHANISMS'),
            'username' => env('SASL_USERNAME'),
            'password' => env('SASL_PASSWORD'),
        ],
        'consumers' => [
            'default' => YourDefaultConsumerJob::class | false,
            'customs' => [
                [
                    'validations' => [
                        [
                            'key' => [],
                            'value' => '',
                        ],
                        [
                            'key' => [],
                            'value' => '',
                        ],
                    ],
                    'job' => YourConsumerJob::class,
                ],
            ],
        ],
    ],

重要

  • 如果您想使用自定义结构消费事件,请添加具有必要规则的 consumers

运行测试

$ vendor/bin/phpunit tests

待办事项

  • src/Queue/Jobs/KafkaJob@getRawBody 中添加对 illuminate 模式的验证