архитектурный стиль, применяемый при создании веб-сервисов семантическое использование HTTP-методов: GET отвечает за чтение, POST — за создание, PUT/PATCH — за обновление, DELETE — за удаление идемпотентность методов:…
Промежуточные и терминальные операции Stream API Stream API представляет собой конвейер для обработки данных в Java Промежуточные операции — ленивые методы, возвращающие Stream и позволяющие последовательно…
Протоколы интеграции между системами Интеграция ПО и обмен данными HTTP/HTTPS — универсальная и легковесная основа для REST API SOAP — протокол сообщений со строгой схемой XML и стандартами WS-* gRPC —…
Протоколы передачи данных в современных приложениях HTTP/HTTPS: базовый веб-протокол с моделью запрос-ответ; HTTPS дополнительно защищает соединение с помощью TLS WebSocket: постоянный двунаправленный канал для…
Сигналы завершения и причина неперехватываемости SIGKILL Сигналы завершения SIGINT, SIGTERM, SIGQUIT дают процессу возможность освободить ресурсы и корректно завершить работу SIGINT — сигнал прерывания, отправляемый с…
Способы взаимодействия микросервисов и их различия REST: синхронный API поверх HTTP понятный для человека формат JSON оптимален для сценариев «запрос — ответ»
Основные виды интеграции между системами синхронная: взаимодействие по модели «запрос-ответ» с блокирующей коммуникацией асинхронная: передача сообщений через очереди и события файловый обмен: регулярная или…
Основные виды коммуникации между сервисами синхронная (HTTP REST, gRPC) — взаимодействие по модели «запрос-ответ», при котором вызывающий сервис блокируется асинхронная (сообщения в очередях, Kafka, RabbitMQ) —…
Стандартные инструменты Django для оптимизации запросов и базы данных select_related(): загружает связи ForeignKey/OneToOne одним запросом с использованием JOIN, сокращая общее количество обращений к базе…
Стратегии инвалидации кэша TTL (Time To Live): удаление данных после заданного срока жизни LRU (Least Recently Used): вытеснение записей, к которым обращались реже всего Write-through: одновременное обновление кэша и…
Альтернативы для клиент-серверного взаимодействия: gRPC, GraphQL и другие технологии gRPC: протокол удалённого вызова процедур, работающий поверх HTTP/2 и использующий бинарную сериализацию Protobuf; эффективен в…