barguia / php-rdkafka
PHP 7.4 的常见 Kafka 功能
v2.0.4
2023-05-29 14:53 UTC
Requires
- php: ^7.4
- ext-rdkafka: *
Requires (Dev)
- phpunit/phpunit: 9.6
README
参考: https://github.com/arnaud-lb/php-rdkafka
PHP Kafka 客户端 - php-rdkafka
参考: https://github.com/arnaud-lb/php-rdkafka
生产者/示例
<?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);
消费者/示例
<?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();