New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

glushkovds/laravel-kafka-queue

Laravel Kafka Queue Driver
5,127 1
Install
composer require glushkovds/laravel-kafka-queue
Latest Version:v0.1.3
PHP:^8.0
Laravel:9 · 10
License:MIT
Last Updated:Oct 6, 2023
Links: GitHub  ·  Packagist
Maintainer: glushkovds

Laravel Kafka Queue Driver

Features

  1. Supports delayed jobs
  2. Supports retries
  3. Supports Laravel 10
  4. Supports authorization

Attention

The code this library is still dirty, there is no stable version. Use it at your own risk. Follow the updates, suggest yours.

Thanks to

Installation

  1. Build and install librdkafka library, install pecl extension rdkafka
ENV LIBRDKAFKA_VERSION "v2.2.0"
RUN cd /tmp \
    && mkdir librdkafka \
    && cd librdkafka \
    && git clone --branch ${LIBRDKAFKA_VERSION} --depth 1 https://github.com/confluentinc/librdkafka.git . \
    && ./configure \
    && make \
    && make install \
    && rm -rf /tmp/librdkafka
RUN pecl install rdkafka
RUN docker-php-ext-enable rdkafka
  1. Install this package via composer using
composer require glushkovds/laravel-kafka-queue
  1. Add service provider to app.php
LaravelKafka\KafkaQueueServiceProvider::class
  1. Add Kafka's connection to queue.php config
'kafka' => [
    'driver' => 'kafka',
    'broker_list' => env('KAFKA_BROKER_LIST', 'kafka:9092'),
    'queue' => env('KAFKA_QUEUE', 'default'),
    'heartbeat' => 5 * 1000, //Heartbeat in milliseconds
    'group_name' => env('KAFKA_QUEUE_GROUP', 'default'),
    'producer_timeout' => 1 * 1000, //Producer timeout in milliseconds
    'consumer_timeout' => 3 * 1000, //Consumer timeout in milliseconds
    'auth_login' => env('KAFKA_AUTH_LOGIN'),
    'auth_mechanism' => env('KAFKA_AUTH_MECHANISM', 'PLAIN'),
    'auth_password' => env('KAFKA_AUTH_PASSWORD'),
    'auth_ssl_ca_location' => env('KAFKA_AUTH_SSL_CA_LOCATION'),
],
  1. Add credentials to .env file
KAFKA_BROKER_LIST=kafka1:9092,kafka2:9093
KAFKA_QUEUE=my-queue
KAFKA_QUEUE_GROUP=my-app
KAFKA_AUTH_LOGIN=
KAFKA_AUTH_PASSWORD=

More about pecl extension rdkafka

https://arnaud.le-blanc.net/php-rdkafka-doc/phpdoc/index.html

Related Packages

laravel-tool/kafka-queue

Laravel Kafka Queue driver with Horizon support

1,159 4
arquivei/php-kafka-consumer

A consumer of Kafka in PHP

85,075 5
larva/laravel-queue-kafka

This is a Laravel queue adapter for the Kafka.

1,003 1
lastdragon-ru/lara-asp-core

The package contains useful utilities and classes.

159,198 0
webparking/laravel-queue-ensurer

This composer package provides a Laravel queue ensurer.

16,172 64

Version History

Version Released PHP Laravel License
v0.1.3 ^8.0 >=9 MIT