Архитектура Identity
Обзор
Микросервис Identity построен по слоистой архитектуре с разделением на API, Domain, Database, Events и Sagas.
Проекты
| Проект | Назначение |
|---|---|
| Talent.Identity.Admin.Api | API для администраторов (тенанты, пользователи) |
| Talent.Identity.Admin.Domain | Domain-логика для Admin API |
| Talent.Identity.Internal.Api | API для внутренних вызовов (создание пользователей, тенантов) |
| Talent.Identity.Internal.Domain | Domain-логика для Internal API |
| Talent.Identity.Partners.Api | API для партнёров (сотрудники, роли, контакты) |
| Talent.Identity.Partners.Domain | Domain-логика для Partners API |
| Talent.Identity.DataBase | EF Core, entities, repositories |
| Talent.Identity.Events | Kafka event messages |
| Talent.Identity.Sagas | Определения sagas |
| Talent.Identity.Background | Kafka consumers, saga handlers |
| Talent.Identity.Notifications | Notification handlers (AfterUserCreated, AfterUserUpdated) |
| Talent.Identity.Keycloak | Интеграция с Keycloak |
Зависимости
- PostgreSQL — основная БД
- Kafka — публикация событий (Outbox)
- Keycloak — identity provider
- MediatR — CQRS
- FluentResult — обработка ошибок
- FluentValidation — валидация на API слое