Протоколы передачи данных в современных приложениях 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; эффективен в…
gRPC — фреймворк для удалённых процедурных вызовов Unary RPC: один запрос и один ответ Server streaming RPC: один запрос и поток ответов Client streaming RPC: поток запросов и один ответ Bidirectional streaming RPC:…
Типы данных Redis и варианты применения Строка (String) — простой массив байтов для кеширования, счётчиков и сессий Список (List) — упорядоченная коллекция строк, применяемая в очередях, стэках и публикации сообщений…
Типы индексов PostgreSQL и сценарии их применения B-tree: универсальный вариант для равенств и диапазонов Hash: эффективен при точных равенствах, однако имеет ограниченные возможности GIN: подходит для мультивалютных…