aerogram/adapter-kafka

此包最新版本(0.3.0)没有可用的许可信息。

0.3.0 2017-06-20 10:33 UTC

This package is auto-updated.

Last update: 2020-11-17 02:19:52 UTC


README

安装

在安装此组件之前,您必须安装一些东西

  • 显然需要一个 Kafka 服务器(检查 Bitnami 以获取简单安装)。

  • librdkafka,Kafka 客户端库

  • rdkafka PHP 扩展。例如,通过 PHPBrew

    $ phpbrew ext install rdkafka
    

推荐通过 Composer 安装 aerogram/adapter-kafka

$ composer require aerogram/adapter-kafka

用法

以下代码片段使用 Kafka 传输实例化一个总线。

Kafka 流根据事件哈希的哈希值在 16(0 到 F)个分区之间划分。

<?php

use Aerogram\EventBus\EventBus\SimpleBus;
use Aerogram\EventBus\Kafka\KafkaTransport;
use Aerogram\EventBus\Kafka\Middleware\KafkaPartitioner;

$bus = new SimpleBus(
        new KafkaTransport,
        [
            new KafkaPartitioner(function($event, $options) {
                $hash = md5($event);

                return hexdec($hash{0});
            })
        ]
    );

// The following event will be published in partition 15
$bus->publish('event.test', '{"name": "test", "payload": "This is a test..."}');