anwarme / kafka-php
为简化使用apache kafka(消息代理)提供的一些辅助方法,主要面向使用kafka作为消息队列系统的PHP开发者
1.0.280324
2024-03-28 07:35 UTC
Requires
- php: >=8.3
- ext-rdkafka: >=6.0.3
This package is auto-updated.
Last update: 2024-09-28 09:05:32 UTC
README
安装
apt install php-rdkafka
composer require anwarme/kafka-php
示例
require_once "./vendor/autoload.php"; use RdKafka\Message; $kafka = new Kafka\KafkaPhp("localhost:9092"); $kafka->topic = 'v3-domainaggregate'; //$kafka->produce(payload: json_encode(['data empty']), headers: ['whitelist_label' => '$whitelist_label']); [$low, $high] = $wmoffsets = $kafka->watermarkOffsets(); echo "topic starting offset: $low, ending offset(EOF): $high\n"; echo "current offset position: " . $kafka->getCommittedOffset() . "\n"; /** @var Message[] $messages */ [$messages, $eof, $from_offset, $to_offset] = $m = $kafka->getMessages(0, RD_KAFKA_OFFSET_BEGINNING); echo("count fetched, EOF, fetched start offset, fetched last offset: " . json_encode([count($messages), $eof, $from_offset, $to_offset]) . "\n"); if (count($messages)) { echo "message headers: " . json_encode($messages[0]->headers) . "\n"; } $committedOffset = $kafka->getCommittedOffset(); echo "current offset position: $committedOffset\n";