barguia/php-rdkafka

Funcoes comuns do Kafka com PHP 7.4

v2.0.4 2023-05-29 14:53 UTC

This package is auto-updated.

Last update: 2025-04-29 01:44:05 UTC


README

Referência: https://github.com/arnaud-lb/php-rdkafka

PHP Kafka client - php-rdkafka

Referência: https://github.com/arnaud-lb/php-rdkafka

Producer/Examples

<?php

use Barguia\PhpRdkafka\KafkaDispatcher;

$config = array(
    'metadata.broker.list' => 'localhost:9092',
);
$producer = new KafkaDispatcher($config);
$headers = ['index1' => 'value1', 'index2' => 123];
$producer->send('topic_name', 'message', 'key', $headers);

Consumer/Examples

<?php

use Barguia\PhpRdkafka\ConsumerFunction;
use Barguia\PhpRdkafka\KafkaService;


class ClassConsumer implements ConsumerFunction
{
    private KafkaService $consumer;
    public function __construct()
    {
        $config = array(
            'metadata.broker.list' => 'localhost:9092',
        );

        $this->consumer = new KafkaService('CONSUMER_GROUP_SGP_PHP_UNIT', 'SGP_PHP_UNIT', $this, $config);
        # Inicia o consumo do Topic
        $this->consume->run();
    }

    /**
    * @param string $message
    * @param array $headers
    * @return void  
    */
    
    public function consume(string $message, array $headers)
    {
        /**
        * Consome mensagens. O commit é opcional, depende da configuracao 
        */
        echo date('Y-m-d H:i:s ').$message.PHP_EOL;
        var_dump($headers);
        $this->consumer->commit();
    }
}

$consumer = new ClassConsumer();