VK Docs logo
Помощь
Обновлена 20 апреля 2026 г. в 13:06

Архитектура

Настоящий Документ содержит описание архитектуры Tarantool Change Data Capture (TCDC).

Архитектура TCDC

Tarantool Change Data Capture (CDC) - это механизм захвата и переноса записей в реальном времени, построенный на микросервисной архитектуре. Он действует как промежуточный слой между Источниками (source) и Приемниками (sink) данных.

Общее положение CDC в решении

Передача данных в Tarantool CDC производится через Универсальный Обработчик. Это микросервис, который включает в себя:

  • Коннектор к Источнику данных (source connector) - точка интеграции, при помощи которой происходит взаимодействие с Источником данных.
  • Коннектор к Приемнику данных (sink connector) - точка интеграции, помощи которой происходит взаимодействие с Приемником данных.
  • Single Message Transformations (SMT) - набор модулей, выполняющих различные преобразования событий (изменение структуры, добавление, удаление, переименование полей, смена их типов данных).
  • Ограничитель потока данных (rate limiter) - модуль управления скоростью чтения данных из Источника.
  • Обработчик контрольных точек (offsets) - классы для хранения контрольных точек (File system, TQE, Kafka).

Архитектура Универсального Обработчика

Взаимодействие с внешними системами

В качестве Источника и Приемника данных могут использоваться как базы данных, так и очереди. Для взаимодействий с внешними системами в Tarantool CDC используются коннекторы как собственной разработки, так и сторонние коннекторы:

При помощи коннекторов собственной разработки Tarantool CDC может забирать данные из следующих Источников:

  • Tarantool DataBase 1.x (TDB1) - при помощи Tarantool Source Connector;
  • Tarantool DataBase 2.x (TDB2) - при помощи Tarantool Source Connector;
  • Tarantool Data Grid 2.x (TDG2) - при помощи Tarantool Source Connector;
  • Tarantool Queue Enterprise (TQE) - при помощи TQE Source Connector;
  • Kafka - при помощи коннектора к Источнику данных Kafka.

При помощи сторонних коннекторов Tarantool CDC может забирать данные из следующих Источников:

Передача данных в следующие Приемники осуществляется при помощи коннекторов собственной разработки:

Передача данных в следующие Приемники осуществляется при помощи сторонних коннекторов:

Одна установка Tarantool CDC может включать в себя несколько Универсальных Обработчиков и передавать данные между несколькими одинаковыми или разнородными системами, например: из Oracle в Kafka, из TQE в Elasticsearch или из Kafka в Tarantool DB. При этом одна и та же очередь или база данных может выступать одновременно как Источником, так и Приемником данных.

Передача данных от Источников к Приемникам

По мере необходимости в рабочую установку Tarantool CDC можно включать дополнительные Универсальные Обработчики.

Перенос данных через Tarantool CDC организован следующим образом:

  1. Данные из Источника получаются соответствующим коннектором. Механизм получения и формат данных зависит от настроек этого коннектора (а также от настроек самого Источника данных).
  2. Для каждого события применяется цепочка преобразований (SMT). В процессе некоторые события могут быть отброшены.
  3. Ограничитель потока данных управляет скоростью чтения данных.
  4. Преобразованные события записываются в Приемник через соответствующий коннектор. Механизм записи и формат данных зависит от настроек коннектора Приемника и настроек целевой системы.

Передача данных через компоненты CDC

Архитектура развертывания

Установка Tarantool CDC может быть развернута в среде Kubernetes или при помощи инструментов ATE.

В среде Kubernetes развертывание происходит при помощи Helm-чарта. Кроме параметров пода, Helm-чарт содержит конфигурационные параметры Универсального Обработчика, позволяющие его создать, изменить или удалить. Эти параметры определяются в файле values.yaml:

Объединенная архитектурная схема установки Tarantool CDC, развернутого в поде кластера Kubernetes (приведенная ниже), включает в себя:

  • Helm-чарт - в качестве точки управления.
  • СonfigMap - для хранения конфигурационных файлов.
  • Файл values.yaml - основной конфигурационный файл.
  • Основной поток переноса данных (жирные линии).
  • Управляющие взаимодействия (пунктирные линии).
  • Универсальный Обработчик - микросервис, включающий в себя коннекторы, преобразователь и ограничитель данных.
  • PostgreSQL Debezium Source Connector - в качестве примера коннектора к Источнику данных.
  • TQE Sink Connector - в качестве примера коннектора к Приемнику данных.

Также на диаграмме представлены:

  • PostgreSQL - в качестве примера Источника данных.
  • TQE - в качестве примера Приемника данных

Объединенная архитектурная схема c Kubernetes

В случае развертывания установки Tarantool CDC при помощи инструментов Tarantool ATE, Helm-чарт не используется, а конфигурационные параметры задаются в файле application.yaml. Тогда объединенная архитектурная схема установки CDC будет выглядеть так, как показано на диаграмме:

Объединенная архитектурная схема c ATE