iankibet / shkafka
Laravel kafka topic listener
Installs: 1 372
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
This package is auto-updated.
Last update: 2025-03-09 01:10:13 UTC
README
A simple Kafka client for laravel.
One can listen to a topic and consume messages from it.
One can also produce messages to a topic.
To install the package, run the following command in your terminal
composer require iankibet/shkafka
Publish Config
php artisan vendor:publish --provider="Iankibet\Shkafka\ShKafkaServiceProvider"
Usage
Once installed and config published, you can use the package by adding the following to your .env file
You can get the values from your kafka cluster
If you need a free kafka cluster, you can get one from upstash.com
KAFKA_BROKERS= KAFKA_SASL_PLAIN_USERNAME= KAFKA_SASL_PLAIN_PASSWORD=
To listen to a topic, start by creating a job for the topic you want to listen to.
For example, if you want to listen to a topic called "test", create a job called TestJob
Then go to shkafka.php config file and add the following to the topics array
You can add as many topics as you want in the array
'test' => [ \App\Jobs\TestJob::class, ],
Then run the following command in your terminal
php artisan shkafka:listen
When a new message is published to the topic, the job will be dispatched.
To produce a message to a topic, use the following code
KafkaRepository::produce('test', [ 'message' => 'test message', ]);