1. Общее описание

Модуль группировки чанков репликации на стороне Витрины потребителя при обмене по подписке группирует фрагменты данных подписки, полученные из топика delta.in.rq и размещает их во временные топики с именем mppw.data.[hash (requestId+subscriptionId)].deltaNum.streamNum, отправляет команду в топик subscription.in модулю подписок при получении lastChunk на загрузку сгруппированных фрагментов (по каждой дельте каждого стрима).

1.1. Интерфейсы модуля

Входящие топики

  • delta.in.rq

Исходящие топики

  • subscription.in

  • mppw.data.[hash (requestId+subscriptionId)].deltaNum.streamNum

1.2. Процесс обработки запроса через Модуль MPPR

  1. Модуль группировки чанков репликации считывает сообщение с фрагментом какой-то таблицы (в рамках какой-то дельты) из delta.in.rq.

  2. Модуль группировки чанков репликации отправляет полученный фрагмент в динамический топик с именем, содержащим [hash (requestId+subscriptionId)], synId (номер дельты) и streamNum - топик mppw.data.X

  3. Если полученный фрагмент является последним ( isLastChunk: true), то Модуль группировки чанков репликации отправляет сообщение (subscriptionId, synId (номер дельты), tableId) в топик subscription.in.

  4. Модуль группировки чанков репликации подтверждает обработку (committing an offset) сообщения с фрагментом в delta.in.rq.

Внимание

Для корректной работы модуля версии 1.17.0 и выше необходимо использовать Zookeeper версии не ниже 3.6.