Kafka-php verwendet einen in reinem PHP geschriebenen Kafka-Client. Es unterstützt derzeit die Kafka-Versionen 0.2.x und v0.1.x, wenn Sie das Original v0.1 verwenden Für .x können Sie auf das Dokument Kafka PHP v0.1.x verweisen, es wird jedoch empfohlen, auf v0.2.x zu wechseln. v0.2.x nutzt die asynchrone PHP-Ausführung zur Interaktion mit dem Kafka-Broker, was stabiler und effizienter ist als v0.1.x. Da es in der PHP-Sprache geschrieben ist, kann es ohne Kompilierung von Erweiterungen verwendet werden, was den Zugriff und die Wartung reduziert Kosten.
PHP-Version ist größer als 5.5
Kafka Server-Version ist größer als 0.8.0
Die Kafka Server-Version des Verbrauchsmoduls muss größer als 0.9.0 sein
Fügen Sie den von nmred/kafka -php abhängigen Composer zur Datei „composer.json“ des Projekts hinzu, z. B.:
{ "require": { "nmred/kafka-php": "0.2.*" } }
<?php require '../vendor/autoload.php'; date_default_timezone_set('PRC'); use Monolog\Logger; use Monolog\Handler\StdoutHandler; // Create the logger $logger = new Logger('my_logger'); // Now add some handlers $logger->pushHandler(new StdoutHandler()); // 设置生产相关配置,具体配置参数见 [Configuration](Configuration.md) $config = \Kafka\ProducerConfig::getInstance(); $config->setMetadataRefreshIntervalMs(10000); $config->setMetadataBrokerList('10.13.4.159:9192'); $config->setBrokerVersion('0.9.0.1'); $config->setRequiredAck(1); $config->setIsAsyn(false); $config->setProduceInterval(500); $producer = new \Kafka\Producer(function() { return array( array( 'topic' => 'test', 'value' => 'test....message.', 'key' => 'testkey', ), ); }); $producer->setLogger($logger); $producer->success(function($result) { var_dump($result); }); $producer->error(function($errorCode, $context) { var_dump($errorCode); }); $producer->send();
<?php require '../vendor/autoload.php'; date_default_timezone_set('PRC'); use Monolog\Logger; use Monolog\Handler\StdoutHandler; // Create the logger $logger = new Logger('my_logger'); // Now add some handlers $logger->pushHandler(new StdoutHandler()); $config = \Kafka\ConsumerConfig::getInstance(); $config->setMetadataRefreshIntervalMs(10000); $config->setMetadataBrokerList('10.13.4.159:9192'); $config->setGroupId('test'); $config->setBrokerVersion('0.9.0.1'); $config->setTopics(array('test')); //$config->setOffsetReset('earliest'); $consumer = new \Kafka\Consumer(); $consumer->setLogger($logger); $consumer->start(function($topic, $part, $message) { var_dump($message); });
Der obige Inhalt ist ein in PHP geschriebenes Kafka-Client-Tutorial. Ich hoffe, es kann jedem helfen.
Verwandte Empfehlungen:
Beispiel für Handshake zwischen Client und Server von Socket in Python
PHP erhält die IP- und geografische Adresse des Besuchers (Clients). Standorttext-Tutorial
Wie entwickelt man schnell einen Webservice-Client?
Das obige ist der detaillierte Inhalt vonIn PHP geschriebener Kafka-Client. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!