An open API service indexing awesome lists of open source software.

https://github.com/iwizard7/py_kafka_client


https://github.com/iwizard7/py_kafka_client

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

# Kafka Producer на Python

Этот скрипт реализует Kafka-клиент, который подключается к серверу Kafka, генерирует случайные сообщения каждую секунду и отправляет их в указанный топик.

## Требования

- Python 3.7 или выше
- Установленный и настроенный сервер Kafka
- Библиотека `kafka-python`

## Установка

1. Клонируйте или скопируйте данный скрипт в ваш проект.
2. Установите зависимости:
```bash
pip install kafka-python
```

## Использование

1. Запустите сервер Kafka и убедитесь, что топик, который вы собираетесь использовать, существует.
2. Запустите скрипт:
```bash
python kafka_producer.py
```
3. Введите параметры подключения:
- IP-адрес сервера Kafka
- Порт Kafka (обычно `9092`)
- Название топика, в который будут отправляться сообщения
4. Скрипт начнет генерировать случайные JSON-сообщения и отправлять их в указанный топик раз в секунду. Для завершения работы нажмите `Ctrl+C`.

## Формат сообщений

Сообщения генерируются в формате JSON и содержат следующие поля:
- `id` — случайное целое число
- `message` — случайная строка
- `timestamp` — отметка времени отправки (в формате UNIX)

Пример сообщения:
```json
{
"id": 123,
"message": "Random message 456",
"timestamp": 1699887600.123456
}
```

## Ошибки и обработка

- Если сервер Kafka недоступен или указан неправильный адрес/порт, скрипт выдаст ошибку подключения.
- Для завершения работы используйте сочетание клавиш `Ctrl+C`.

## Пример вывода

При успешной работе скрипт выдает в консоль отправленные сообщения:
```
Введите IP адрес сервера Kafka: 127.0.0.1
Введите порт Kafka: 9092
Введите название топика: test_topic
Успешно подключено к Kafka
Начало отправки сообщений в топик 'test_topic'...
Сообщение отправлено: {'id': 321, 'message': 'Random message 654', 'timestamp': 1699887601.987654}
Сообщение отправлено: {'id': 789, 'message': 'Random message 987', 'timestamp': 1699887602.123456}
```

## Заметки

- Убедитесь, что ваш сервер Kafka работает и настроен правильно.
- Скрипт предполагает, что топик уже создан. Если топик не существует, создайте его заранее или настройте автоматическое создание топиков на стороне Kafka.

## Поддержка

Если у вас возникли вопросы или проблемы, открывайте Issue в репозитории или создайте Pull Request для улучшений.

## Лицензия

Этот проект распространяется под [MIT License](LICENSE).
```