Архитектура | Cdc

Версия:

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

Архитектура

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).

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

(architecture-integrations)

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

В качестве источника и приемника данных могут использоваться как базы данных, так и очереди. Для взаимодействий с внешними системами в 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 Source Connector.

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

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

  • Tarantool DataBase 1.x (TDB1) – при помощи Tarantool Sink Connector;

  • Tarantool DataBase 2.x (TDB2) – при помощи Tarantool Sink Connector;

  • Tarantool Queue Enterprise (TQE) – при помощи TQE Sink Connector;

  • Elasticsearch – при помощи Elasticsearch Sink Connector;

  • Kafka – при помощи Kafka Sink Connector.

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

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

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

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

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

  1. Данные из источника получаются соответствующим коннектором. Механизм получения и формат данных зависит от настроек этого коннектора (а также от настроек самого источника данных).

  2. Для каждого события применяется цепочка преобразований (SMT). В процессе некоторые события могут быть отброшены.

  3. Ограничитель потока данных управляет скоростью чтения данных.

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

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

(architecture-deploy)

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

Установка 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

Примечание

Конфигурационные файлы могут быть разбиты на несколько файлов application.yaml. Более подробно об этом смотрите в статье об Универсальном Обработчике.

Нашли ответ на свой вопрос?
Обратная связь