Skip to main content

Kafka Design Guide

Правила именования топиков

Название топика состоит из следующих логических частей разделенных . Если какая-то часть уже сама состоит из нескольких слов, то в качестве их разделителя используется -

<контур>.<домен>.<тип-сообщения>.<описание>.<версия>

Контур - название среды

prod

stage

test

feature

local

Домен - домен Ensi, например oms

Тип сообщения - логический смысл типа топика.

  • fact - в нём лежат факты того что произошло в системе. Наш классический юз кейс
  • command - в нём лежат сообщения-команды, а не сообщения-события.
  • cdc - если мы стримим через топик change data capture для базы
  • test - отладочный топик
  • internal - внутренний топик для использования внутри сервиса. Не предназначен для потребления кем-то еще.

Описание - описание того какие данные собственно лежат в топике.

Для fact это обычно название сущности во множественном числе

Для command - название комманды.

Для cdc - имя БД и т д

Версия - int для версионирования, как для API. Начинается с 1.

Пример: stage.oms.fact.basket-items.1