首頁 >php框架 >Laravel >Apache Kafka擴充包在Laravel有什麼用?

Apache Kafka擴充包在Laravel有什麼用?

藏色散人
藏色散人轉載
2021-09-24 15:15:342100瀏覽

下面由Laravel教學專欄給大家推薦Apache Kafka擴充包,希望對需要的朋友有幫助!

Apache Kafka擴充包在Laravel有什麼用?

Laravel Kafka 擴充套件(https://github.com/mateusjunges/laravel-kafka)讓你在Laravel 應用中使用Apache Kafka 生產者和消費者變得簡單。使用 publishOn 方法,可以讓你流暢的設定和發布訊息:

use Junges\Kafka\Facades\Kafka;

Kafka::publishOn('broker', 'topic')
    ->withConfigOption('property-name', 'property-value')
    ->withConfigOptions([
        'property-name' => 'property-value'
    ]);

下面展示如何透過這個套件在Laravel 應用程式中向Kafka 發送訊息:

use Junges\Kafka\Facades\Kafka;

/** @var \Junges\Kafka\Producers\ProducerBuilder $producer */
$producer = Kafka::publishOn('broker', 'topic')
    ->withConfigOptions(['key' => 'value'])
    ->withKafkaKey('your-kafka-key')
    ->withKafkaKey('kafka-key')
    ->withHeaders(['header-key' => 'header-value']);

$producer->send();

這裡是消費者訂閱訊息的範例:

use Junges\Kafka\Facades\Kafka;

$consumer = Kafka::createConsumer('broker')->subscribe('topic');

// 通过回调函数处理:
$consumer->withHandler(function(\RdKafka\Message $message) {
    // 消息处理
});

// Invokable handler:
class Handler
{
    public function __invoke(\RdKafka\Message $message){
        //消息处理
    }
}

$consumer->withHandler(Handler::class)

這個套件的其他功能請見 readme:(https://github.com/mateusjunges/laravel-kafka/blob/master/README.md)

  • 最大訊息消費數量配置
  • 死信隊列- 維基百科配置
  • 中間件配置
  • #在測試中使用Kafka::fake () 方法模擬Kafka 生產者
  • 開發模式下開啟調試
  • 訊息體可設定

這個套件需要rdkafka 擴充提供Kafka 生成等級高效的PHP 客戶端。 Github 上有包裝詳細的安裝說明,和 原始碼 。

原文網址:https://laravel-news.com/laravel-kafka-package

翻譯網址:https://learnku.com/laravel/t/61072

以上是Apache Kafka擴充包在Laravel有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:learnku.com。如有侵權,請聯絡admin@php.cn刪除