delta.rs
delta.rs - Топик чанков данных дельт репликации от поставщика.
Структура сообщения
deltaResultChunkMessage:
description: Чанк с данными дельты репликации
contentType: 'application/octet-stream'
bindings:
kafka:
key:
$ref: '#/components/schemas/deltaResultChunkKey'
headers:
type: object
properties:
AGENT_CONSUMER_ID:
description: Идентификатор агента потребителя
type: string
payload:
description: Бинарные данные чанка
examples:
- name: base64
headers:
AGENT_CONSUMER_ID: agent_fias
payload:
value: JEEJNodyLO7p1pgsRHG9pEiXeYGvHW4YCl4FgrgBmu5C92iVX1PV2GZdcqsb66bx8sk=
Avro-схема сообщения
deltaResultChunkKey:
schemaFormat: 'application/vnd.apache.avro;version=1.9.0'
type: record
name: DeltaResultChunk
namespace: ru.rtlabs.common.replication.delta
fields:
- name: requestId
description: Уникальный идентификатор запроса
type:
type: string
logicalType: uuid
- name: subscriptionId
description: Уникальный идентификатор подписки
type:
type: string
logicalType: uuid
- name: sql
description: sql, для которого возвращается дельта
type: string
- name: synId
description: Идентификатор синхронизации витрины
type: int
- name: minSynId
description: Номер первой передаваемой в этом пакете дельты
type: int
- name: maxSynId
description: Номер последней передаваемой в этом пакете дельты
type: int
- name: synTime
description: Время дельты
type: long
- name: streamNumber
description: Номер стрима дланных
type:
- int
- 'null'
- name: streamTotal
description: Общее количество стримов
type:
- int
- 'null'
- name: chunkNumber
description: Номер порции по порядку
type: int
- name: isLastChunk
description: Признак последнего сообщения
type: boolean
- name: replicaHash
description: Чек-сумма реплики после применения дельты с данным
type:
- string
- 'null'
examples:
- requestId: 74e43a84-c6c6-4e25-bac4-9d39c59b3da5
subscriptionId: a1ba39be-962b-4ac0-b3f3-893151883e59
sql: 'select * from v1_addrobj'
synId: 10
minSynId: 10
maxSynId: 10
synTime: 1000
streamNumber:
int: 1
streamTotal:
int: 1
chunkNumber: 1
isLastChunk: true
replicaHash:
string: '123456789'
- requestId: 74e43a84-c6c6-4e25-bac4-9d39c59b3da5
subscriptionId: a1ba39be-962b-4ac0-b3f3-893151883e59
sql: 'select * from v1_addrobj'
synId: 10
minSynId: 10
maxSynId: 10
synTime: 1000
streamNumber:
int: 1
streamTotal:
int: 1
chunkNumber: 1
isLastChunk: false
replicaHash: null