github NuclearAPK/Simple-Kafka_Adapter v1.8.0

8 hours ago

Simple Kafka Connector 1C v1.8.0

Дата релиза: 2026-01-26

Крупное обновление с интеграцией Schema Registry, системой метрик, пакетным чтением и настройкой партиционирования.


Новые возможности

Schema Registry API

Полная интеграция с Confluent Schema Registry для централизованного управления схемами данных:

Метод Описание
ЗарегистрироватьСхему Регистрация новой схемы в Schema Registry
ПолучитьСхемуПоИД Получение схемы по её идентификатору
ПолучитьПоследнююСхему Получение последней версии схемы для subject
ПолучитьВерсииСхемы Получение списка всех версий схемы
УдалитьСхему Удаление схемы по версии
// Пример использования
Компонента.ЗарегистрироватьСхему("http://localhost:8081", "my-topic-value", СхемаJSON);

Metrics API

Встроенная система метрик для мониторинга производительности:

Метод Описание
ПолучитьМетрикиПродюсера JSON с метриками: сообщения, байты, ошибки, retries, uptime
ПолучитьМетрикиКонсьюмера JSON с метриками: сообщения, байты, ошибки, таймауты, uptime
СброситьМетрики Сброс всех счётчиков метрик
{
    "messages_produced": "1000",
    "bytes_produced": "45000",
    "errors_count": "0",
    "retries_count": "5",
    "uptime_seconds": "120.5"
}

Пакетное чтение сообщений

Эффективное чтение нескольких сообщений за один вызов:

// Читаем до 100 сообщений с ожиданием до 2 секунд
РезультатJSON = Компонента.ЧитатьПакетСообщений(100, 2000);

Настройка партиционирования

Выбор алгоритма распределения сообщений по партициям:

Тип Описание
consistent_random По умолчанию. Консистентное хеширование со случайным началом
murmur2 Совместим с Java клиентом Kafka
random Равномерное случайное распределение
Компонента.УстановитьПартишионер("murmur2");

Настраиваемые таймауты

Метод По умолчанию Описание
УстановитьТаймаутОчисткиПродюсера 20 сек Таймаут flush при остановке
УстановитьТаймаутАдминОпераций 10 сек Таймаут Admin API операций

Изменения

  • Тип ПолучитьВременнуюМеткуСообщения: изменён с float на double для повышения точности
  • Рефакторинг: заменены все goto на while циклы в методах отправки

Исправления

  • Утечка памяти: исправлена в методе ЗафиксироватьСмещение
  • Опечатки: исправлено experementalexperimental

Требования к сборке

Добавлена новая зависимость:

find_package(CURL REQUIRED)
target_link_libraries(${TARGET} PRIVATE CURL::libcurl)

Статистика

  • 11 новых методов для 1С
  • ~800 строк нового кода
  • 5 файлов документации обновлено

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

  • Публикация сообщений - SetPartitioner, Metrics, таймауты
  • Чтение сообщений - ConsumeBatch, Metrics
  • Admin API - таймауты, ResetMetrics
  • Schema Registry - новый раздел

Don't miss a new Simple-Kafka_Adapter release

NewReleases is sending notifications on new releases.