Kafka windows php
windows10 で kafka + php + rdkafka を試したときのメモ。
使ったもの
- jdk 11.0.2
- kafka 2.2.1
- https://kafka.apache.org/downloads#2.2.1
- C:\opt\kafka22 に配置
- PHP 7.1.33 VC14 x64 Thread Safe (2019-Oct-23 12:30:06)
- https://pecl.php.net/package/rdkafka/3.1.2/windows
- C:\opt\php\php71 に配置
- php_rdkafka-3.1.2
kafka 動作確認
zookeeper 起動
cd C:\opt\kafka22\bin\windows zookeeper-server-start.bat ..\..\config\zookeeper.properties
kafka 準備
server.properties の advertised.listeners を修正したような?
#advertised.listeners=PLAINTEXT://your.host.name:9092 advertised.listeners=PLAINTEXT://myhostname:9092
kafka 起動
kafka-server-start.bat ..\..\config\server.properties
トピック確認
kafka-topics.bat --list --zookeeper=localhost:2181
トピック作成
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hello-kafka ↓↓↓ Created topic "hello-kafka".
トピック確認
kafka-topics.bat --list --zookeeper=localhost:2181 ↓↓↓ hello-kafka
Producerの起動とメッセージの送信
kafka-console-producer.bat --broker-list localhost:9092 --topic hello-kafka >Hello kafka! >...
Consumerの起動とメッセージの受信
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic hello-kafka --from-beginning
PHP
rdkafka についている examples を実行するだけ。composer しなくていい。
php producer.php php producer.php
php consumer.php ↓↓↓ Message 0 Message 1 Message 2 Message 3 Message 4 Message 5 Message 6 Message 7 Message 8 Message 9 Message 0 Message 1 Message 2 Message 3 Message 4 Message 5 Message 6 Message 7 Message 8 Message 9 Broker: No more messages