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.