opennebel/laravel-kafka

Librairie Laravel pour Kafka avec php-rdkafka

v1.0.1 2025-07-02 09:00 UTC

This package is auto-updated.

Last update: 2025-07-02 09:02:25 UTC


README

Laravel Kafka est une librairie simple et fluide pour produire des messages vers Apache Kafka à partir de vos applications Laravel. Elle repose sur l’extension php-rdkafka et suit les conventions Laravel (Service Provider + Facade).

Maintenu par OpenNebel

🚀 Installation

Assurez-vous que l'extension PHP rdkafka est installée sur votre machine :

pecl install rdkafka

Puis, installez la librairie via Composer :

composer require opennebel/laravel-kafka

⚙️ Configuration

Publiez le fichier de configuration :

php artisan vendor:publish --tag=laravel-kafka-config

Et configurez .env :

KAFKA_BROKERS=localhost:29092
KAFKA_DEFAULT_TOPIC=notification-events

🧪 Utilisation

Utilisation simple avec la façade

use OpenNebel\LaravelKafka\Facades\Kafka;

Kafka::produce('notification-events', 'Hello Kafka!');

Exemple avec un message JSON structuré

$data = [
    'type' => 'email',
    'to' => 'nebel.mass@gmail.com',
    'subject' => 'Bienvenue chez MondialGP',
    'template' => 'welcome-email',
    'variables' => [
        'name' => 'Jean Dupont',
        'supportEmail' => 'support@mondialgp.com'
    ]
];

Kafka::produce('notification-events', json_encode($data));

🧩 Injection de dépendance (au lieu de la façade)

use OpenNebel\LaravelKafka\KafkaService;

public function handle(KafkaService $kafka)
{
    $kafka->produce('notification-events', 'Message direct via service');
}

🛠 Exemple de configuration (config/kafka.php)

return [
    'brokers' => env('KAFKA_BROKERS', 'localhost:9092'),
    'default_topic' => env('KAFKA_DEFAULT_TOPIC', 'notification-events'),
];

📦 Versions & stabilité

  • PHP >= 8.0
  • Laravel >= 9.x
  • Kafka broker requis (local ou distant)
  • Compatible avec Docker & environnement de prod

📄 Licence

MIT © OpenNebel