In PHP geschriebener Kafka-Client

小云云
Freigeben: 2023-03-17 19:06:02
Original
2473 Leute haben es durchsucht

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.

Anforderungen an die Installationsumgebung

  • 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

Installation

Verwenden Sie Composer zur Installation

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.*"
	}
}
Nach dem Login kopieren

Produzieren

<?php
require &#39;../vendor/autoload.php&#39;;
date_default_timezone_set(&#39;PRC&#39;);
use Monolog\Logger;
use Monolog\Handler\StdoutHandler;
// Create the logger
$logger = new Logger(&#39;my_logger&#39;);
// 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();
Nach dem Login kopieren

Consumer

<?php
require &#39;../vendor/autoload.php&#39;;
date_default_timezone_set(&#39;PRC&#39;);
use Monolog\Logger;
use Monolog\Handler\StdoutHandler;
// Create the logger
$logger = new Logger(&#39;my_logger&#39;);
// 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);
});
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage