Перейти к основному содержимому

Архитектура Identity

Обзор

Микросервис Identity построен по слоистой архитектуре с разделением на API, Domain, Database, Events и Sagas.

Проекты

ПроектНазначение
Talent.Identity.Admin.ApiAPI для администраторов (тенанты, пользователи)
Talent.Identity.Admin.DomainDomain-логика для Admin API
Talent.Identity.Internal.ApiAPI для внутренних вызовов (создание пользователей, тенантов)
Talent.Identity.Internal.DomainDomain-логика для Internal API
Talent.Identity.Partners.ApiAPI для партнёров (сотрудники, роли, контакты)
Talent.Identity.Partners.DomainDomain-логика для Partners API
Talent.Identity.DataBaseEF Core, entities, repositories
Talent.Identity.EventsKafka event messages
Talent.Identity.SagasОпределения sagas
Talent.Identity.BackgroundKafka consumers, saga handlers
Talent.Identity.NotificationsNotification handlers (AfterUserCreated, AfterUserUpdated)
Talent.Identity.KeycloakИнтеграция с Keycloak

Зависимости

  • PostgreSQL — основная БД
  • Kafka — публикация событий (Outbox)
  • Keycloak — identity provider
  • MediatR — CQRS
  • FluentResult — обработка ошибок
  • FluentValidation — валидация на API слое