распределённая публично-подписная система потоковой обработки событий (event streaming) масштабирование выполняется за счёт партиционирования топиков каждый топик разделён на партиции, что обеспечивает параллельную…
распределённая архитектура, в которой сервисы работают независимо обмен данными по сети через HTTP/REST, gRPC или message brokers синхронное взаимодействие через REST/gRPC и асинхронное — через RabbitMQ, Kafka…
микросервисная архитектура представляет собой совокупность независимых сервисов каждый из них работает как отдельный процесс со своими зависимостями обновление становится проще: компоненты можно деплоить по частям, не…
Как мониторить нагрузку на сервис для своевременного масштабирования? мониторинг CPU, памяти, сети и диска показывает базовый уровень нагрузки время отклика и throughput позволяют оценить производительность сервиса…
Как сервер проходит путь от cookie с session ID до данных пользователя Клиент отправляет HTTP-запрос, в котором содержится cookie с session ID Сервер получает запрос и извлекает session ID из cookie По session ID…
Корутина — лёгкая функция, которую можно приостанавливать и возобновлять; она реализует кооперативную многозадачность Таск (Task) — абстракция работы, способной выполняться асинхронно; для этого он часто использует…
Как параллельно получить данные из 4 независимых систем через CompletableFuture? Java concurrency и асинхронное выполнение CompletableFuture — оболочка для асинхронных вычислений Запускать каждый запрос в пуле потоков…
проверять структуру JSON применять JSON Schema для описания правил и типов полей контролировать обязательные и необязательные поля проверять типы данных: string, number, boolean проверять форматы значений: email,…
Как обеспечить надёжность вызова внешнего сервиса при высокой нагрузке? Архитектура: асинхронное обращение через очередь сообщений Использовать очередь (RabbitMQ, Kafka) для буферизации запросов Добавить механизм…
Контекст: диагностика и профилирование Выявление с помощью heap dump и профайлеров (VisualVM, YourKit) Поиск объектов с неожиданно длительным временем жизни Проверка ссылок, из-за которых сборщик мусора не может…
Как исследовать проблему с платежом, который не появляется после рефреша при ответе 200 ошибка на фронтенде или в кэше — проверить обновление UI и удаление локальных данных корректность данных — сопоставить ответ API…
Выборка кредитов физических лиц с просроченной задолженностью SQL-запрос к базе данных кредитов Отбираются кредиты, для которых тип клиента указан как "физическое лицо" Проверяются условия: дата платежа (due_date)…