>  기사  >  PHP 프레임워크  >  Laravel에서 Apache Kafka 확장 패키지를 사용하는 방법은 무엇입니까?

Laravel에서 Apache Kafka 확장 패키지를 사용하는 방법은 무엇입니까?

藏色散人
藏色散人앞으로
2021-09-24 15:15:342035검색

다음은 Laravel튜토리얼 칼럼에서 추천한 Apache Kafka 확장 패키지입니다. 필요한 친구들에게 도움이 되었으면 좋겠습니다!

Laravel에서 Apache Kafka 확장 패키지를 사용하는 방법은 무엇입니까?

Laravel Kafka 확장 패키지(https://github.com/mateusjunges/laravel-kafka)를 사용하면 Laravel 애플리케이션에서 Apache Kafka 생산자와 소비자를 쉽게 사용할 수 있습니다. publishOn 메서드를 사용하면 메시지를 원활하게 구성하고 게시할 수 있습니다. 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
  • 다음은 이 패키지를 통해 Laravel 애플리케이션에서 Kafka에 메시지를 보내는 방법을 보여줍니다.
  • rrreee
  • 다음은 소비자의 예입니다. 메시지 구독 :
  • rrreee
  • 이 패키지의 다른 기능에 대해서는 추가 정보를 참조하세요:(https://github.com/mateusjunges/laravel-kafka/blob/master/README.md)

    최대 메시지 소비 수량 구성

    데드 레터 큐 - Wikipedia 구성

    미들웨어 구성

    Kafka::fake() 메서드를 사용하여 테스트에서 Kafka 생산자 시뮬레이션
    🎜개발 모드에서 디버깅 활성화 🎜🎜구성 가능한 메시지 본문 🎜 🎜🎜 이 패키지에는 Kafka 세대 수준의 효율적인 PHP 클라이언트를 제공하기 위해 rdkafka 확장이 필요합니다. Github에는 패키지에 대한 자세한 설치 지침과 소스 코드가 있습니다. 🎜🎜🎜원본 주소: https://laravel-news.com/laravel-kafka-package🎜🎜번역 주소: https://learnku.com/laravel/t/61072🎜🎜

위 내용은 Laravel에서 Apache Kafka 확장 패키지를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제