phpテストkafkaプロジェクトの例

2259 ワード

この例ではphpテストkafkaプロジェクトについて説明します.皆さんの参考にしてください.具体的には以下の通りです.
概要
Kafkaは当初Linkedin社によって開発され、分散、パーティション化、マルチコピー、マルチサブスクライバであり、zookeeeper協調に基づく分散ログシステム(MQシステムとしても使用可能)であり、web/nginxログ、アクセスログ、メッセージサービスなどによく用いられ、Linkedinは2010年にApache財団に貢献し、トップクラスのオープンソースプロジェクトとなった.
主な適用シーンは、ログ収集システムとメッセージシステムです.
kafka-phpプロジェクト依存のインストール

composer require nmred/kafka-php


produce.php

setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('127.0.0.1:9092');
$config->setBrokerVersion('0.10.2.1');
$config->setRequiredAck(1);
$config->setIsAsyn(false);
$config->setProduceInterval(500);
$producer = new \Kafka\Producer(function() {
 $t = time();
 return array(
 array(
  'topic' => 'test',
  'value' => $t,
  'key' => $t,
 ),
 );
});
$producer->success(function($result) {
 var_export($result);
});
$producer->error(function($errorCode) {
 var_dump('error', $errorCode);
});
$producer->send();


consumer.php

setMetadataRefreshIntervalMs(10000);
$config->setMetadataBrokerList('127.0.0.1:9092');
$config->setGroupId('test');
$config->setBrokerVersion('0.10.2.1');
$config->setTopics(array('test'));
$consumer = new \Kafka\Consumer();
$consumer->start(function($topic, $part, $message) {
 var_dump($message);
});


テスト生産者

php produce.php

消費者のテスト

php consumer.php

PHPに関する詳細について興味のある読者は、「phpオブジェクト向けプログラム設計入門チュートリアル」、「PHP配列(Array)操作テクニック大全」、「PHP基本文法入門チュートリアル」、「PHP演算と演算子用法総括」、「php文字列(string)用法総括」、「php+mysqlデータベース操作入門チュートリアル」および「php一般データベース操作テクニック要約」
ここで述べたことが皆さんのPHPプログラム設計に役立つことを願っています.