Перейти к содержанию

Архитектура

TQE testcontainers

Архитектура TQE Testcontainers:

Кластер TQEGrpc издателиGrpc подписчикиКластер Tarantoolpublisher-1publisher-Nconsumer-1consumer-Njava
Кластер TQEGrpc издателиGrpc подписчикиКластер Tarantoolpublisher-1publisher-Nconsumer-1consumer-Njava

TQE testcontainers представлены следующими интерфейсами:

  • TarantoolContainer - используется для создания кластера Tarantool
  • GrpcContainer - используется для создания узлов grpc подписчика(consumer) /издателя(publisher)
  • TQECluster - используется для запуска/перезапуска и остановки кластера TQE
  • TQEConfigurator - используется для настройки кластера TQE

GrpcContainer

GrpcContainer - все реализации интерфейса представляют контейнеры, являющиеся grpc-точками. Каждая точка может иметь одну или две роли подписчик(consumer)/издатель(publisher).

GrpcContainerImpl

GrpcContainerImpl - базовая реализация GrpcContainer, которая принимает на вход путь к файлу конфигурации grpc-точек. Путь должен быть регулярным файлом и соответствовать правилам настройки grpc-точки. Методы запуска и остановки идемпотентны. Объект не хранит состояние.

TQECluster

TQECluster - интерфейс позволяющий управлять TQE кластером. Интерфейс позволяет запускать и останавливать кластер (после остановки заново запустить кластер с помощью текущего экземпляра невозможно), перезапускать (с сохранением данных в кластере TQE).

TQEClusterImpl

TQEClusterImpl - базовая реализация интерфейса TQECluster, которая настраивается с помощью одного из экземпляров TQEConfigurator.

TQEConfigurator

TQEConfigurator - интерфейс, позволяющий настраивать узлы TQE кластер (grpc-точки, Tarantool кластер).

FileTQEConfigurator

FileTQEConfigurator - базовая реализация TQEConfigurator, которая позволяет настроить узлы кластера TQE с помощью конфигурационных файлов. Файлы конфигурации должны быть регулярными файлами и соответствовать правилам настройки grpc-точек и узлов Tarantool для TQE