Настройка BPMN-элемента Platform Kafka Start Event
После добавления BPMN-элемента на схему бизнес-процесса вам нужно настроить параметры этого BPMN-элемента.
Вы можете ввести имя BPMN-элемента, дважды нажав мышью на этом элементе.
BPMN-элемент Platform Kafka Start Event может быть только первым элементом на BPMN-схеме.
Чтобы настроить параметры BPMN-элемента Platform Kafka Start Event:
-
На BPMN-схеме выберите элемент Platform Kafka Start Event.
-
На панели справа укажите следующие параметры BPMN-элемента:
-
Kafka settings → Topic (обязательный параметр): введите имя топика Kafka, например,
SomeTopic
. -
Kafka settings → Consumer Group Id (обязательный параметр): введите идентификатор группы потребителей, работающих совместно для чтения сообщений из одного или нескольких топиков Kafka. Объединение потребителей в группы позволяет распределять нагрузку между потребителями, обеспечивая обработку каждого сообщения только одним потребителем в группе. В качестве значения этого параметра вы можете ввести, например,
consumerGroupId
. -
Kafka settings → Message type (обязательный параметр): из раскрывающегося списка выберите формат сообщения Kafka:
- Raw json: выберите это значение, чтобы получать необработанные данные в формате JSON.
- Storage event: выберите это значение, чтобы отслеживать изменения в классах модели данных с включенным параметром Формировать события Kafka. Данные в формате JSON имеют следующую структуру, которую использует сервис доступа к хранилищу данных storagedata:
"mutation": //формат для событий Kafka и для сервиса управления событиями Платформы
{
"operation":"enum", // тип операции с данными класса: "insert","update","delete"
"projectName":"string", // имя проекта
"className": "string", // имя класса
"idType":"enum", // тип идентификатора: "int", "guid"
"idValue":"string"// сериализация в integer или guid в зависимости от idType
} -
Kafka settings → Activation condition (необязательный параметр): введите условие, при котором должен активироваться процесс. Вы можете использовать выражение на языке FEEL для описания значения этого параметра. Следующий блок кода демонстрирует пример описания этого параметра.
{
"key": {}// ключ сообщения Kafka
"value": {}// текст сообщения Kafka
} -
Output mapping → Result expression (обязательный параметр): введите выражение на языке FEEL для описания способа преобразования и сохранения данных сообщ ения Kafka в переменных бизнес-процесса. Например, введите следующее выражение:
{bpmnProcessId: response.processes.bpmnProcessId}
-
Output mapping → Result variable (необязательный параметр): введите имя переменной, в которую будет записано сообщение Kafka. Следующий блок кода демонстрирует пример описания этого параметра.
{
"Name":("Mr."+value.name),
"Age":(value.age + 1)
} -
Extended settings → Send correlation key (необязательный параметр): по умолчанию для этого параметра установлено значение Dont send correlation key. Если вы хотите связывать сообщения издателя и потребителя и отслеживать обработку сообщений в асинхронных системах, выберите значение Send correlation key. Например, вы можете использовать этот параметр для связывания событий с пользователями в системах мониторинга, для отслеживания взаимодействий между микросервисами.
Если для этого параметра вы выбрали значение Send correlation key, укажите значение параметра Correlation key, например,
correlationKeyExpression
. -
Extended settings → Use default kafka server (необязательный параметр): по умолчанию для этого параметра установлено значение False, что указывает на необходимость ввода URL-адреса сервера Kafka для параметра Kafka server url. Если вы выберите значение True, будет использоваться URL-адрес сервера Kafka, который настроен в Платформе по умолчанию.
-
Extended settings → Use extended kafka settings: по умолчанию для этого параметра установлено значение False, что означает, что для взаимодействия процесса с Apache Kafka будут использоваться параметры по умолчанию. Если вы хотите указать другие значения параметр ов, выберите значение True и укажите следующие расширенные параметры:
-
Use kafka offsets (обязательный параметр): по умолчанию для этого параметра установлено значение False, что означает, что обработанные потребителем сообщения не будут отслеживаться. Если вы хотите отслеживать обработанные потребителем сообщения, выберите значение True и укажите следующие дополнительные параметры:
- Kafka offsets (необязательный параметр): укажите числовые метки, которые указывают позицию сообщения в топике Kafka, для отслеживания обработанных сообщений потребителем. При перезапуске процесса этот параметр позволяет продолжить выполнение процесса с позиции, в котором процесс был прерван.
- Kafka Partition Number (необязательный параметр): укажите номер партиции данных внутри топика Kafka для параллельной обработки и масштабирования. Каждая партиция содержит упорядоченный набор сообщений с позициями и обрабатывается независимо от других партиций. Нумерация партиций начинается с 0, что является значением этого параметра по умолчанию.
-
Auto offset reset (необязательный параметр): выберите, с какой позиции потребитель Kafka должен начинать чтение при отсутствии сохраненной позиции, например, при первом запуске процесса. По умолчанию выбрано значение Latest, что означает чтение с конца топика Kafka только новых сообщений, поступивших после запуска процесса. Это значение используется для контроля поведения потребителя в Apache Kafka.
Если вы выберете значение Earliest, потребитель Kafka будет читать сообщения с начала, с позиции с числовой меткой 0.
-
Kafka additional Properties (необязательный параметр): укажите дополнительные параметры для настройки взаимодействия с Kafka с целью обеспечения гибкости и контроля инициализации процесса на основе сообщений Kafka. Параметры указываются в виде пары "ключ - значение". Например, для управления параметрами Kafka вы можете указать следующие значения:
- сериализатор ключа: "key.serializer":"org.apache.kafka.common.serialization.StringSerializer";
- десериализатор значения: "value.deserializer":"org.apache.kafka.common.serialization.StringDeserializer";
- протокол безопасности: "security.protocol":"SSL".
-
-
-
Вверху справа нажмите Сохранить.