Использование Apache Kafka с модулем "Выгрузка для СОРМ"
Apache Kafka (Kafka) — распределённая платформа потоковой передачи данных, которая позволяет обрабатывать большие объёмы данных в реальном времени. Она используется для создания систем обработки данных, хранения и передачи сообщений между различными компонентами приложений. Подробнее см. в официальной документации Kafka.
Основные компоненты Kafka
Основными компонентами Kafka являются:
- Топики (Topics) — логические каналы, в которые записываются сообщения. Каждый топик может иметь несколько партиций для масштабируемости;
- Партиции (Partitions) — подмножества топиков, которые позволяют разделять данные для более эффективного хранения и обработки. Каждая партиция хранит упорядоченные сообщения и может быть распределена по различным брокерам;
- Брокеры (Brokers) — серверы, которые хранят данные и обрабатывают запросы на запись и чтение;
- Продюсеры (Producers) — приложения, которые отправляют (публикуют) сообщения в топики;
- Потребители (Consumers) — приложения, которые читают (подписываются на) сообщения из топиков;
- Группы потребителей (Consumer Groups) — группы, которые позволяют нескольким потребителям совместно обрабатывать данные из одного топика.
Для запуска Kafka требуется установка сервиса ZooKeeper или KRaft. Выбор сервиса зависит от версии Kafka:
ниже версии 2.8 — ZooKeeper;
версии 2.8-3.9 — ZooKeeper или KRaft;
версии 4.0 и выше — KRaft.
Установка Kafka на сервер совместно с ZooKeeper
Apache ZooKeeper — открытый сервер, который может использоваться совместно с Kafka для хранения конфигурационных данных BILLmanager. Чтобы установить Kafka совместно с Zookeeper:
- Загрузите актуальную версию Kafka с официального сайта Apache Kafka:BASH
- Распакуйте скачанный архив:BASH
- Перейдите в директорию Kafka: BASH
- Запустите ZooKeeper с помощью команды: BASH
- Запустите брокер Kafka:BASH
Установка Kafka на сервер совместно с KRaft
KRaft (Kafka Raft) — режим управления метаданными в Apache Kafka, который позволяет работать без ZooKeeper, начиная с версии Kafka 2.8.0. Установка Apache Kafka совместно с KRaft на сервере с BILLmanager не тестировалась. Подробнее о работе с KRaft см. официальную документацию Kafka, раздел Quickstart.
Установка и настройка Kafka на системе с Docker
Чтобы установить Kafka с помощью Docker, введите команду:
BASH- Создайте топики:BASH
Пример базовой настройки Kafka с помощью Docker см. в статье документации Docker Hub https://hub.docker.com/r/apache/kafka
Выгрузка данных в Kafka
После применения этих настроек информация не будет сохраняться в базе данных billmgr_sorm.
В качестве продюсера Kafka может выступать модуль "Выгрузка для СОРМ" в BILLmanager. Эта интеграция не настроена по умолчанию. Подробнее о настройке продюсеров см. в официальной документации Kafka в статье Kafka Producer.
Чтобы настроить выгрузку данных из модуля "Выгрузка для СОРМ" в Kafka:
- Установите библиотеки Python:BASH
- Cоздайте конфигурационный файл /usr/local/mgr5/etc/sorm/kafka.json:
Пример файла
CODE- Обязательным параметром является только bootstrap.servers.
- Вы можете не указывать параметры security.protocol, sasl.mechanism, sasl.username и sasl.password. Однако, если хотя бы один из этих параметров содержится в конфигурационном файле, то и остальные параметры должны быть включены.
- Если для типа данных не указан отдельный топик и параметр topic не задан, то информация будет записана в топик sorm:
1. Если для типа данных есть непустой топик в topics в конфигурационном файле, то будет выбран он.
2. Если условие 1 не выполнено, то модуль проверяет наличие непустого topic и задействует его для выгрузки.
3. Если условия 1 и 2 не выполнены, отправка будет осуществляться в топик "sorm".
Проверка работы Kafka
Для проверки работы Kafka вы можете читать и отправлять сообщения в топики.
Чтобы читать сообщения из топика, запустите команду:
Чтобы отправить сообщение в топик, запустите команду:
Может быть полезно
Связанные статьи: