Heim  >  Artikel  >  PHP-Framework  >  Wozu dient das Apache Kafka-Erweiterungspaket in Laravel?

Wozu dient das Apache Kafka-Erweiterungspaket in Laravel?

藏色散人
藏色散人nach vorne
2021-09-24 15:15:342054Durchsuche

Das Folgende ist das Apache Kafka-Erweiterungspaket, das in der LaravelTutorial-Kolumne empfohlen wird. Ich hoffe, es wird Freunden, die es benötigen, hilfreich sein.

Wozu dient das Apache Kafka-Erweiterungspaket in Laravel?

Das Laravel Kafka-Erweiterungspaket (https://github.com/mateusjunges/laravel-kafka) erleichtert die Verwendung von Apache Kafka-Produzenten und -Konsumenten in Laravel-Anwendungen. Mit der Methode publishOn können Sie Nachrichten reibungslos konfigurieren und veröffentlichen: 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()rrreee
  • Im Folgenden wird gezeigt, wie Sie über dieses Paket Nachrichten an Kafka in einer Laravel-Anwendung senden:
  • rrreee
  • Hier ist ein Beispiel für einen Verbraucher Abonnieren einer Nachricht:
  • rrreee
  • Weitere Funktionen dieses Pakets finden Sie in der Readme-Datei:(https://github.com/mateusjunges/laravel-kafka/blob/master/README.md)

    Maximaler Nachrichtenverbrauch Mengenkonfiguration

    Warteschlange für tote Briefe – Wikipedia-Konfiguration

    Middleware-Konfiguration

    Verwenden Sie die Methode Kafka::fake(), um den Kafka-Produzenten im Test zu simulieren
    🎜Debuggen im Entwicklungsmodus aktivieren 🎜🎜Konfigurierbarer Nachrichtentext 🎜 🎜🎜 Dieses Paket erfordert die rdkafka-Erweiterung, um einen effizienten PHP-Client auf Kafka-Generationsebene bereitzustellen. Eine ausführliche Installationsanleitung und den Quellcode für das Paket gibt es auf Github. 🎜🎜🎜Originaladresse: https://laravel-news.com/laravel-kafka-package🎜🎜Übersetzungsadresse: https://learnku.com/laravel/t/61072🎜🎜

Das obige ist der detaillierte Inhalt vonWozu dient das Apache Kafka-Erweiterungspaket in Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen