https://github.com/ytake/kafka-console
php kafka console application
https://github.com/ytake/kafka-console
example kafka php
Last synced: 10 months ago
JSON representation
php kafka console application
- Host: GitHub
- URL: https://github.com/ytake/kafka-console
- Owner: ytake
- License: mit
- Created: 2017-05-20T14:36:25.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-20T14:38:47.000Z (over 8 years ago)
- Last Synced: 2024-10-05T22:02:38.584Z (over 1 year ago)
- Topics: example, kafka, php
- Language: PHP
- Size: 9.77 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PHP Kafka Console Application Example
*required ext-rdkafka*
use Symfony Console Component, Zend ServiceManager
## Application Factory Configuration
use factory.php (zendframework/zend-servicemanager)
```php
return [
'factories' => [
\Ytake\KafkaConsole\Console\ProducerConsole::class =>
\Ytake\KafkaConsole\Console\ProducerConsoleFactory::class,
\Ytake\KafkaConsole\Console\ConsumerConsole::class =>
\Ytake\KafkaConsole\Console\ConsumerConsoleFactory::class,
\Ytake\KafkaConsole\Usecase\MessageProduceUsecase::class =>
\Ytake\KafkaConsole\Usecase\MessageProduceUsecaseFactory::class,
\Ytake\KafkaConsole\Usecase\MessageConsumeUsecase::class =>
\Ytake\KafkaConsole\Usecase\MessageConsumeUsecaseFactory::class,
],
'invokables' => [
],
'aliases' => [
],
];
```
## Kafka Configuration
use config.yaml
```yaml
kafka:
topics:
- topic: message-topic
brokers: 'localhost'
producer:
socket.blocking.max.ms: '1'
queue.buffering.max.ms: '1'
queue.buffering.max.messages: '1000'
client.id: testingClient
consumer:
heartbeat.interval.ms: '10000'
session.timeout.ms: '30000'
topic.metadata.refresh.interval.ms: '60000'
topic.metadata.refresh.sparse: 'true'
log.connection.close: 'false'
group.id: testingConsumer
```
## Usage
### kafka:produce
```bash
$ php kafka-console kafka:produce message-topic hello
```
#### Arguments
- topic: specified kafka topic
- message: produce message
### kafka:consume
```bash
$ php kafka-console kafka:consume message-topic
```
#### Arguments
- topic: specified kafka topic
- partition: topic partition [default: 0]
- offset: find offsets for partitions [default: -2]
## Other
[Apache Kafka](https://kafka.apache.org/)
[ldaniels528/trifecta](https://github.com/ldaniels528/trifecta)
Trifecta is a web-based and CLI tool that simplifies inspecting Kafka messages and Zookeeper data
[yahoo/kafka-manager](https://github.com/yahoo/kafka-manager)
A tool for managing Apache Kafka.