https://github.com/iwizard7/py_kafka_client
https://github.com/iwizard7/py_kafka_client
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/iwizard7/py_kafka_client
- Owner: iwizard7
- Created: 2024-11-27T07:05:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-27T07:30:58.000Z (over 1 year ago)
- Last Synced: 2024-12-27T03:14:47.098Z (over 1 year ago)
- Language: Python
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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).
```