arquivei / laravel-kafka-queue-connector
此包已被废弃,不再维护。未建议替代包。
Laravel Kafka 队列驱动
1.2.0
2019-03-14 21:48 UTC
Requires
- php: ^7.1.3
- illuminate/database: ^5.6
- illuminate/queue: ^5.6
- illuminate/support: ^5.6
Requires (Dev)
- phpunit/phpunit: ^7.0
README
Laravel Kafka 队列驱动
安装
-
$ cd /tmp $ mkdir librdkafka $ cd librdkafka $ git clone https://github.com/edenhill/librdkafka.git . $ ./configure $ make $ make install
-
安装 php-rdkafka PECL 扩展
$ pecl install rdkafka
-
在您的 php.ini 文件中添加以下内容以启用 php-rdkafka 扩展
extension=rdkafka.so
-
使用 composer 安装此包
composer require arquivei/laravel-kafka-queue-connector
-
在
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 模式的验证