Способы взаимодействия микросервисов и их различия REST: синхронный API поверх HTTP понятный для человека формат JSON оптимален для сценариев «запрос — ответ»
Основные виды коммуникации между сервисами синхронная (HTTP REST, gRPC) — взаимодействие по модели «запрос-ответ», при котором вызывающий сервис блокируется асинхронная (сообщения в очередях, Kafka, RabbitMQ) —…
Массовая вставка данных: сравнение AddRange и BulkInsert AddRange удобен в использовании, однако уступает по производительности из-за последовательной вставки записей и отслеживания изменений в EF BulkInsert…
Стратегии инвалидации кэша TTL (Time To Live): удаление данных после заданного срока жизни LRU (Least Recently Used): вытеснение записей, к которым обращались реже всего Write-through: одновременное обновление кэша и…
Типы индексов PostgreSQL и сценарии их применения B-tree: универсальный вариант для равенств и диапазонов Hash: эффективен при точных равенствах, однако имеет ограниченные возможности GIN: подходит для мультивалютных…
Какие бывают основные типы Streams? Поток представляет собой последовательность данных в Node.js и других средах Readable — источник, из которого можно читать данные, например файл или сеть Writable — получатель…
Какими свойствами должен обладать хороший микросервис? возможность независимо разрабатывать и развёртывать сервис ясно очерченный бизнес-контекст (bounded context) небольшой и хорошо определённый API на базе…
Архитектурные функции транспортного и сервисного слоёв транспортный слой: обеспечивает связь с внешним миром — API, UI и другими системами транспортный слой: принимает входящие запросы и направляет их во внутренние…
Средства Go для контроля времени выполнения операции WithTimeout: запускает отсчёт с момента вызова и принимает duration WithDeadline: устанавливает конкретное время в будущем — дату и время завершения WithTimeout…
Event-loop. Когда выполняется SetImmediate Event-loop — механизм обработки событий в Node.js Он управляет очередями timers, I/O callbacks, idle, poll, check (SetImmediate) и close callbacks SetImmediate помещает…
микросервисы оправданы для сложных и масштабируемых систем, над которыми работает много команд они подходят проектам, где требуется независимый деплой и отдельное масштабирование функциональных модулей такой подход…
Монолит и микросервисы: преимущества, недостатки и выбор подхода Монолит — единое приложение, в котором все компоненты работают вместе Микросервисы — набор небольших функционально независимых сервисов Монолит упрощает…