下面由laravel教程欄目給大家推薦apache kafka擴(kuò)展包,希望對(duì)需要的朋友有所幫助!
laravel Kafka?擴(kuò)展包(https://github.com/mateusjunges/laravel-kafka)讓你在 Laravel 應(yīng)用中使用 Apache Kafka?生產(chǎn)者和消費(fèi)者變得簡(jiǎn)單。使用?publishOn?方法,可以讓你流暢的配置和發(fā)布消息:
use JungesKafkaFacadesKafka; Kafka::publishOn('broker', 'topic') ->withConfigOption('property-name', 'property-value') ->withConfigOptions([ 'property-name' => 'property-value' ]);
下面展示如何通過(guò)這個(gè)包在 Laravel 應(yīng)用中向 Kafka 發(fā)送消息:
use JungesKafkaFacadesKafka; /** @var JungesKafkaProducersProducerBuilder $producer */ $producer = Kafka::publishOn('broker', 'topic') ->withConfigOptions(['key' => 'value']) ->withKafkaKey('your-kafka-key') ->withKafkaKey('kafka-key') ->withHeaders(['header-key' => 'header-value']); $producer->send();
這里是消費(fèi)者訂閱消息的示例:
use JungesKafkaFacadesKafka; $consumer = Kafka::createConsumer('broker')->subscribe('topic'); // 通過(guò)回調(diào)函數(shù)處理: $consumer->withHandler(function(RdKafkaMessage $message) { // 消息處理 }); // Invokable handler: class Handler { public function __invoke(RdKafkaMessage $message){ //消息處理 } } $consumer->withHandler(Handler::class)
這個(gè)包的其他功能請(qǐng)見(jiàn)?readme:(https://github.com/mateusjunges/laravel-kafka/blob/master/README.md)
- 最大消息消費(fèi)數(shù)量配置
- 死信隊(duì)列 – 維基百科 配置
- 中間件配置
- 在測(cè)試中使用 Kafka::fake() 方法模擬 Kafka 生產(chǎn)者
- 開(kāi)發(fā)模式下開(kāi)啟調(diào)試
- 消息體可配置
這個(gè)包需要 rdkafka?擴(kuò)展提供 Kafka 生成級(jí)別高效的 PHP 客戶端。 Github 上有包詳細(xì)的安裝說(shuō)明,和?源碼?。
原文地址:https://laravel-news.com/laravel-kafka-package
譯文地址:https://learnku.com/laravel/t/61072
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載。
THE END