Шардирование и репликация в кластере
На уровне gRPC API сервис Producer отвечает за публикацию сообщений в наборы реплик,
а Consumer — за получение сообщений из них.
На уровне TQE Router (компонент roles.tqe-router) хранится конфигурация шардирования.
Кластер строится по схеме мастер-реплика:
- Мастер — обработка изменений конфигурации.
- Реплика — обработка запросов чтения, резерв.
На уровне TQE Storage (компонент roles.tqe-storage) хранятся сообщения.
Данные распределяются по наборам реплик. Каждый набор содержит:
- Мастер — запись и чтение сообщений.
- Реплики — чтение сообщений и синхронизация с мастером.
На уровне TQE Orchestrator (компонент roles.tqe-orchestrator) хранится состояние групп потребителей,
их участников и распределение партиций.
Кластер строится по схеме мастер-реплика:
- Мастер — обработка изменений состава групп, обновление данных синхронизации, запуск перебалансировки.
- Реплика — резерв.

В кластере TQE(MQ) можно выделить следующие типы взаимодействия:
- Получение маршрутов — из
gRPC APIна мастер или репликуroles.tqe-router. - Публикация — из
Producerв мастер набора репликroles.tqe-storage. - Чтение — из
Consumerв мастер или репликуroles.tqe-storage. - Запросы, связанные с группами потребителей — из
Consumerв мастерroles.tqe-orchestrator. - Запросы о распределении бакетов — из
roles.tqe-orchestratorв мастер или репликуroles.tqe-router. - Запросы о состоянии подписок партиций — из
roles.tqe-orchestratorв мастер набора репликroles.tqe-storage.
Благодаря автоматическому переключению лидера (leader failover) система остается доступной при отказе мастера: реплика берет на себя его функции без потери сообщений. Такая архитектура гарантирует, что сообщения не теряются даже при сбоях, и обеспечивает высокую пропускную способность за счет параллельной обработки независимых наборов реплик. Подробнее о сценариях взаимодействия с системой см. в Руководстве администратора.