安裝 kafka 服務
wget
解壓,進入目錄
tar -zxvf kafka_2.13-2.5.0.tgzcd kafka_2.13-2.5.0
啟動 kafka 服務
使用安裝包中的指令碼啟動單節點 zookeeper 例項
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
使用 kafka-server-start.sh 啟動 kafka 服務
bin/kafka-server-start.sh config/server.properties
建立 topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
檢視 topic 列表,檢查是否建立成功
bin/kafka-topics.sh --list --zookeeper localhost:2181$ test
生產者,傳送訊息
bin/kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
服務方面到這裡就差不多了,接下來就是 php 的事了。
安裝 php 擴充套件
rdkafka 安裝需要依賴 librdkafka , 所以先安裝 librdkafka
git clonecd librdkafka
./configure
make && make install
安裝 php-rdkafka 擴充套件
git clonecd php-rdkafka
phpize
./configure --with-php-config=/usr/local/cellar/[email protected]/7.2.24/bin/php-config ## 這裡根據自己的情況填寫路徑
make && make install
在 php-ini 加上
extension=rdkafka.so
重啟,php-fpm,就應該可以看到該擴充套件。
使用kafka
建立乙個生產者類
<?phpclass kafkaproducer
public static function producer($message, $topic = 'test')
}}
建立乙個消費類
<?phpclass kafkaconsumer}}
}
問題彙總
1、 no j**a runtime present, requesting install
2、建立 topic 出現:replication factor: 1 larger than **ailable brokers: 0
意思是至少有乙個 brokers. 也就是說並沒有有效的 brokers 可以用。你要確保你的 kafka 已經啟動了
訊息佇列 訊息佇列 kafka
kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要用於大資料實時處理領域。要理解kafka首先要有分布式的概念,要有訊息佇列的概念。分布式系統最大的優勢就是解耦和削峰,這種情況下,a系統生成了乙個訊息,b系統非同步獲取,那麼就需要乙個存放訊息的訊息佇列 mq 相比較傳統的訊息佇列,訊息被消費...
訊息佇列 Kafka學習
kafka是乙個分布式的訊息佇列,學習見apache kafka文件,中文翻譯見kafka分享,乙個簡單的入門例子見kafka 入門例項。本文只針對自己感興趣的點記錄下。producer consumer 訊息的生成者和使用者。broker kafka server充當broker角色,起到訊息佇列...
訊息佇列 Kafka學習
kafka是乙個分布式的訊息佇列,學習見apache kafka文件,中文翻譯見kafka分享,乙個簡單的入門例子見kafka 入門例項。本文只針對自己感興趣的點記錄下。producer consumer 訊息的生成者和使用者。broker kafka server充當broker角色,起到訊息佇列...