# Kafka
Kafka用于Kafka服務的管理,提供消費者和成產者客戶端。服務器需要安裝[librdkafka](https://github.com/edenhill/librdkafka),PHP需要安裝[rdkafka](https://github.com/arnaud-lb/php-rdkafka)擴展。
#### 生產者
```PHP
/**
* 創建生產者對象
* /
$producer = new Producer([
//kafka實例地址,多個地址用逗號間隔
'broker_list' => '127.0.0.1:9092',
//kafka日志級別
'log_level' => LOG_DEBUG
]);
/**
* 創建話題
*/
$topic = $producer->topic(string $topic = '', TopicConf $topicConf = null);
/**
* 生產消息
*/
$topic->produce(string $message = '');
```
#### 低級消費者
```PHP
/**
* 創建消費者者對象
* /
$consumer = new Consumer([
//kafka實例地址,多個地址用逗號間隔
'broker_list' => '127.0.0.1:9092',
//topic分頁
'partition' => 0,
// kafka日志級別
'log_level' => LOG_DEBUG
]);
/**
* 消費者者選取消費話題
* /
$topic = $consumer->topic(string $topic = '', TopicConf $topicConf = null);
/**
* 消費者消費消息
* /
$topic->consume(callable $callback = null, int $timeout = 120e3);
```
#### 高級消費者
```PHP
/**
* 創建消費者者對象
* /
$consumer = new GroupConsumer([
//kafka實例地址,多個地址用逗號間隔
'broker_list' => '127.0.0.1:9092',
//消費者分組
'group_id' => 0,
// 消費等待時間
'timeout' => 120e3
]);
/**
* 消費者消費消息
* /
$consumer ->consume(array $topics = [], callable $callback = null);
```