TCDC Documentation portal logo
Помощь
Обновлена 4 сентября 2026 г. в 09:15

Описание архитектуры

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

Архитектура Tarantool CDC

Tarantool Change Data Capture (далее Tarantool 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 CDC может забирать данные из:

С помощью коннекторов собственной разработки Tarantool CDC может передавать данные в:

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

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

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

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

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

Тогда объединенная архитектурная схема установки CDC будет выглядеть так, как показано на диаграмме:

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