Документация Accelera

Настройка Kafka адаптера

Обзор

Kafka адаптер Accelera Flows - это модуль для получения и обработки сообщений из очереди Kafka.

Формат сообщения - JSON. Пример:

{
		"TRANSACTION_DATE": "21-01-2021 11:36:30",
		"ACCOUNT_NUMBER": "123456789",
		"MERCHANT_CITY": "London",
		"MERCHANT_COUNTRY": "UK",
		"MERCHANT_CATEGORY": "5699",
		"TRANSACTION_ID": "123456789"
}

На параметры из входящего сообщения будут ссылаться переменные ID, EVENT и CONTEXT для формирования события в формате accelera.

Конфигурация

Распакуйте образы приложения из файла flows_kafka_adapter_{your_version}.tar.gz следующей командой:

docker load < flows_kafka_adapter_{your_version}.tar.gz

Создайте файл docker-compose.yaml со следующим содержимым:

version: '3'
services:
  kafka_adapter:
    image: devcubesolutions/flows_kafka_adapter:latest
    container_name: kafka_adapter
    restart: unless-stopped    
		environment:
	      - NODE_ENV=development
          - TZ=Europe/Moscow
          - LOG_LEVEL=debug
          - TOPIC=topicName
          - GROUP=groupName
          - BROKER=localhost:9092
          - USERNAME=username
          - PASSWORD=password
          - PROTOCOL=SASL_SSL
          - CA=path_to_cert
          - MECHANISM=SCRAM-SHA-512
          - ENDPOINT=ex-triggers
          - ID={{ id_field }}
          - EVENT={{ event_field }}
          - CONTEXT=clientId,{{clientId}},id_field,{{id_field}},first_name,{{first_name}}

Описание параметров

image

Имя образа, который был распакован на предыдущем шаге, можно узнать командой docker images

container_name

Имя контейнера при запуске, рекомендуется оставить без изменения

restart

Политика рестарта процесса при остановке или ошибке, по умолчанию 'unless-stopped'

Environment

NODE_ENV - режим запуска, рекомендуется значение production.

TZ - Временная зона, по умолчанию Europe/Moscow

CONNECTION_RETRIES - Количество попыток переподключения

LOGGER_LEVEL - Уровень логирования (trace, debug, info, warn, error, fatal)

BROKER - адрес подключения к Kafka

BROKER_CONNECTION - адрес подключения к RabbitMQ

TOPIC - Хост Kafka брокера

GROUP - Группа подключения

CLIENT - Имя клиента брокера

CA - Путь к SSL сертификату (опционально)

USERNAME - Логин брокера

PASSWORD - Пароль брокера

ENDPOINT - Имя очереди или топика с потоком событий. Рекомендуется указать ex-triggers.

PROTOCOL - Протокол соединения. SASL_SSL для соединения через сертификат, PLAINTEXT для обычного соединения логин/пароль

MECHANISM - Механизм шифрования, рекомендуется SCRAM-SHA-512

ID - Идентификатор события, может быть константой или ссылкой на параметр через {{ }}

EVENT - Имя события, может быть константой или ссылкой на параметр через {{ }}

CONTEXT - Параметры, которые будут переданы в событии через запятую. Задается в формате <имя параметра>,<ссылка на параметр через {{ }}>

FILTER_FIELD - Поле, на котором будет выполняться фильтрация. Пример - param1.param2, или param.array.0

FILTER_VALUES - Значения поля из FILTER_FIELD, которые будут переданы далее для обработки. Пример - value1,value2,value3

Запуск

Для запуска адаптера используйте следующую команду:

docker-compose -f {путь к вашему docker-compose файлу} up

Получить доступ к логам и проверить работоспособность адаптера можно командой

docker logs -f kafka_adapter

Остановка

Для остановки адаптера используйте команду:

docker-compose -f {путь к вашему docker-compose файлу} down

На этой странице