Источники событий#
Поддерживаются источники событий 3 видов для компонента EVPC:
Topic Apache Kafka;
gRPC;
shared-grpc;
Чтение из файла (обработчик завершит работу после того, как будет достигнут конец файла).
Описание источника событий#
Источником является объект конфигурации с полем type, содержащим значение source со следующими полями:
name— название источника событий;topic— имя топика для чтения сообщений, по умолчанию «input» (опциональное поле);config— конфигурация транспорта источника;destination— описание следующего шага обработки события после источника.
Поле config содержит специфическую конфигурацию транспорта.
Apache Kafka#
type— тип транспорта, значение: «kafka»;secret— ключ для расшифровки паролей к хранилищам сертификатов, параметры «ssl.key.password», «ssl.keystore.password», «ssl.truststore.password»;consumer— настройки получателя сообщений;producer— настройки отправителя сообщений;Другие настройки Kafka как «bootstrap.servers» и т.д.
Пример конфигурации источников событий с типом kafka#
source: {
name: "kafka"
type: "source"
topic: "input"
destination: {}
config: {
type: "kafka"
"bootstrap.servers":"localhost:9092"
consumer: {
"group.id": "event-process-flow-group"
"client.id": "event-process-flow-client"
}
producer: {
"client.id": "event-process-flow-producer"
}
}
}
gRPC#
type— тип транспорта, значение: «grpc»;url— имяendpointиз настроек EVTA, указывающие на нужный транспорт и топик или очередь;host— адрес по которому доступен EVTA;port— порт EVTA;timeout— тайм-аут подключения;kafkaGroupName— переопределениеgroup.idиз параметров клиента Apache Kafka.
Пример конфигурации источников событий с типом grpc#
source: {
name: "gRPC"
type: "source"
topic: "input"
destination: {}
config: {
type: "grpc"
url: "fpss://K2_IAZCommon.Common/System/TESTA/1"
host: "reactivestreamadapter-evta-os-evpc-demo"
port: 8081
timeout: 30000
kafkaGroupName: "test-consumer1"
}
}
Настройка транспорта с использованием EVTA#
Для подключения к транспорту с использованием интеграционного адаптера под формат CloudEvent (EVTA), необходимо в конфигурации источников указать следующие настройки c типом подключения shared-grpc:
Имя |
Значение по умолчанию |
Описание |
|---|---|---|
bufferSize |
1000 |
Размер буфера сообщений |
timeout |
1000 |
Время ожидания подключения |
host |
Хост подключения к EVTA |
|
port |
Порт подключения к EVTA |
|
source |
Имя подключаемого транспорта |
|
restartAttempts |
0 |
Количество попыток подключения при сбое |
Также возможно использование параметров SSL-контекста.
Пример конфигурации источников событий с типом shared-grpc#
source: {
name: "kafka"
type: "source"
topic: "input"
cloudEvent: "true"
destination: {}
config: {
type: "shared-grpc"
timeout: 30000
bufferSize: 1000
host: "localhost"
port: 8989
source: "ru.sbt.ss.event"
restartAttempts: 3
}
}
Файл#
Файл (обработчик завершит работу после того, как будет достигнут конец файла, рекомендуется использовать с параллелизмом 1):
type— тип транспорта, значение: «file»;path— полный путь до файла или директории с файлами.
Пример конфигурации источников событий с типом file#
source: {
name: "file"
type: "source"
topic: "input"
destination: {}
config: {
type: "file"
path: "/path/to/file.txt"
}
}