Skip to content

Week4 #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Week4 #4

wants to merge 1 commit into from

Conversation

nomba
Copy link
Owner

@nomba nomba commented Aug 27, 2023

Текущие правки в реквесте:

  • Логика Accounting с отправкой события по транзакции
  • Добавление события TaskCreatedV2 без обработки

Что хочется доделать:

Во всей домашке используется подход, при котором источником всех событий в системе является Domain Layer НЕ Application (как в классической реализации)!.

Аггрегат Task.cs по действию Reassign сохраняет события у себя и во время сохранения в БД происходит пубдикация Domain Event события в памяти TaskReassignedDomainEvent.cs. По этому событию происходит мапинг Streaming (данные) TaskUpdatedStreamingEvent.cs и Behavior (оно же бизнес-событие) TaskReassignedBehaviourEvent.cs событий для message broker. Внутрення публикация в памяти реализована с помощью MediatR (Publish/Subscribe).

До сих пор на подводные камни не наткнулся. Естественно, плата за консистентное состояние (нельзя просто так кинуть события в любом из контроллеров/сервисов) - это overhead по созданию механизма публикации.
Хочется дореализовать всю логику, плюс посмотреть как ляжет Outbox pattern в описанную концепцию, также для стриминга использовать не модели из Domain Layer, так как они должны обеспечивать инкапсуляцию, а отдельные "открытые".

@nomba nomba requested a review from davydovanton August 27, 2023 13:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant