Как выбрать DI-контейнер: Autofac или стандартный контейнер? Контекст: DI-контейнеры применяются в .NET для реализации инверсии зависимостей Стандартный контейнер Поставляется вместе с .NET Core и обеспечивает…
микросервисы — автономные сервисы, взаимодействующие через API REST: синхронное взаимодействие по HTTP/JSON, простая интеграция gRPC: синхронный и асинхронный обмен, бинарный протокол, высокая производительность…
Этапы общего процесса проектирования базы данных Анализ требований: определение бизнес-данных и целей системы Моделирование данных: разработка концептуальной ER-модели Нормализация: сокращение избыточности и…
Контекст: защита аутентификации и токенов доступа Access-токены имеют короткий срок действия — обычно от нескольких минут до нескольких часов Refresh-токены действуют дольше и предназначены для выпуска новых…
ускорение чтения за счёт сокращения числа JOIN рост производительности запросов применение в аналитике и OLAP-системах кэширование предварительно рассчитанных агрегатов увеличение избыточности и риска рассогласования…
Как выполнить «инверсию» зависимости между микросервисами? Сервис A обращается к сервису B напрямую, поэтому между ними возникает жесткая связь — tight coupling Инверсия зависимости достигается за счет асинхронного…
Кэширование тяжёлых вычислений: стратегии и проблема cold start Область: кэширование, оптимизация производительности Cache-aside: приложение самостоятельно читает данные из кэша и обновляет его Сначала запрос…
распределённая архитектура, в которой сервисы работают независимо обмен данными по сети через HTTP/REST, gRPC или message brokers синхронное взаимодействие через REST/gRPC и асинхронное — через RabbitMQ, Kafka…
микросервисная архитектура представляет собой совокупность независимых сервисов каждый из них работает как отдельный процесс со своими зависимостями обновление становится проще: компоненты можно деплоить по частям, не…