Дальше везде используются placeholder-ы:
{domain}
,{Domain}
{subdomain}
,{Subdomain}
Например, для поддомена package
из домена logistic
значение placeholder-ов будет:
{domain}
,{Domain}
=logistic
,Logistic
{subdomain}
,{Subdomain}
=package
,Package
{domain}
/{subdomain}
=logistic
/package
-
Создать репозиторий в формате
{domain-kw}-{subdomain}-api
-
Описать сущность
{domain}.{Subdomain}
и{domain}.{Subdomain}Event
в internal/model/{subdomain}.go -
Реализовать паттерн consumer-producer из db в kafka на основе интерфейсов EventRepo и EventSender для одного типа события Created
-
Написать тесты
-
Синхронизацию работы потоков сделать через
context
💎 -
Создавать задачи у workerpool по обработке батчевых идентификаторов записей событий 💎
-
Поддержать несколько типов событий учитывая корректный порядок 💎
-
Реализовать гарантию доставки At-least-once 💎
-
Найти скрытые ошибки в коде 💎
Рецепт
P.S. Обратите внимание используется зеркальная (внешняя) точка зрения на вопрос, кто является потребителем, а кто является производителем. Поэтому паттерн назвали consumer-producer и классы переименовали.