В основе лежит распределённая система для обмена сообщениями После регистрации клиента сервис выдаёт ему уникальный токен устройства Бэкенд сохраняет токены и передаёт уведомления через Push Notification Service…
Проектирование системы сохранений: переход от локальной модели к серверной и двунаправленная запись Архитектура: абстрактный слой сохранения, объединяющий локальное и серверное хранилища Локальное сохранение:…
сервис для подсчёта просмотров видео в интернете основные требования: высокая производительность под нагрузкой, точность подсчётов и возможность масштабирования приём событий о просмотрах через API или SDK,…
Основные архитектурные подходы: монолит, микросервисы, SOA и event-driven Монолит: приложение представляет собой единое целое, все компоненты работают в одном процессе. Такой вариант упрощает разработку и деплой, но…
Диаграммы для описания процессов и системной архитектуры Для процессов: Диаграммы потоков данных DFD — отображают перемещение информации Для процессов: BPMN — стандартизированный способ описания бизнес-процессов и…
Проектирование нового сервиса с нуля анализ требований: функциональные и нефункциональные характеристики выбор архитектурного подхода: монолит или микросервисы моделирование данных: схемы, базы данных и API…
Как обосновать выбор системы очередей для проекта? контекст: подбор системы очередей для асинхронной обработки и взаимодействия между компонентами RabbitMQ: надёжный брокер на основе AMQP-протокола с поддержкой…
Сравнение производительности монолита и микросервисов монолит: локальные вызовы функций в памяти обеспечивают низкую задержку микросервисы: обмен данными между сервисами выполняется по сети и добавляет сетевую…
архитектура: система из независимых сервисов масштабируемость: каждый компонент можно масштабировать отдельно развертывание: автономные обновления без остановки всей системы гибкость: в одном приложении можно…
Синхронное и асинхронное взаимодействие: отличия и варианты реализации Синхронное взаимодействие: операции выполняются одна за другой, поэтому каждый следующий шаг ожидает окончания предыдущего. Асинхронное…