Микросервисы 2: Шаблон для быстрого создания микросервиса на базе .NET Core

My Frameworks | создано: 01.05.2019 | опубликовано: 01.05.2019 | обновлено: 13.01.2024 | просмотров: 5102

В этом видео продолжение темы "микросервисов". На этот раз речь идет о  кирпичиках, из которых строится архитектура микросервисов. А также представлен другой шаблон для создания ASP.NET Core приложения как модуля (микросервиса), которое использует Swagger.

О чем

В этом видео продолжение темы "микросервисов". На этот раз речь идет о  кирпичиках, из которых строится архитектура микросервисов. А также представлен другой шаблон для создания ASP.NET Core приложения как модуля (микросервиса), которое использует Swagger.

Что внутри решения

Решение содержит четыре проекта с разбиением на логические уровни:

  • [your_namespace].Core - контракты для использования во всех проектах (и кросс-решениях тоже)
  • [your_namespace].Models - модели, которые относятся к бизнес-логике (пока пустой, только для демонстрации кое-что)
  • [your_namespace].Data - база данных и всё что нужно для управления ею: миграции, конфигурации и прочее (в общем, тут DbContext)
  • [your_namespace].Web - основной проект на ASP.NET Core 2.2 (в новой версии и на ASP.NET Core 3.0)

В главное проекте Web в свою очередь содержит следующие технологии, паттерны, подходы, принципы и т.д.:

  • Microsoft AspNetCore Identity
  • Authorization Server на базе IdentityServer4
  • Реализация паттерна UnitOfWork (Repositories + Transactions + UserManager + RoleManager)
  • Swagger integratoin
  • Automapper
  • Pagination
  • Response wrapper на примере OperationResult

Функциональность, которая реализует аутентификацию и авторизацию из этого шаблона "вырезана". Но вы также при использовании данного проекта сможете сразу же приступить к разработке прикладных задач бизнес-логикой без необходимости уделять внимание созданию первичной инфрастуктуре проекта. Единственное, что останется, настроить авторизацию пользователей. И для это я бы порекомендовал использовать предыдущий шаблон.

Видео

Ссылки

Github
Microservice 1
Microservice 2