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