Брокеры сообщений обеспечивают асинхронное взаимодействие и интеграцию сервисов Kafka — распределённая система и журнал событий с высокой пропускной способностью и хранением сообщений в формате log-based RabbitMQ —…
Различия Kafka и RabbitMQ в гарантированной доставке сообщений Kafka представляет собой распределённый commit log, в котором сообщения хранятся постоянно Данные попадают в топики, разделённые на partitions, благодаря…
В Go отсутствует классическое наследование: здесь нет классов и конструкции extends Для повторного использования кода применяют встраивание (embedding) структур При встраивании поля и методы вложенной структуры…
подход к управлению распределёнными транзакциями крупная транзакция представляется последовательностью локальных операций в отдельных сервисах для каждой операции предусматривается компенсирующее действие, позволяющее…
архитектурный подход к созданию распределённых систем приложение разделяется на самостоятельные сервисы каждый из них выполняет определённую бизнес-задачу сервисы обмениваются данными через строго определённые API…
масштабирование: горизонтальное (добавление серверов) и вертикальное (наращивание ресурсов) балансировщик нагрузки (load balancer), который направляет запросы на доступные инстансы с учётом health checks и выбранных…
В основе лежит распределённая система для обмена сообщениями После регистрации клиента сервис выдаёт ему уникальный токен устройства Бэкенд сохраняет токены и передаёт уведомления через Push Notification Service…
Проектирование системы сохранений: переход от локальной модели к серверной и двунаправленная запись Архитектура: абстрактный слой сохранения, объединяющий локальное и серверное хранилища Локальное сохранение:…
сервис для подсчёта просмотров видео в интернете основные требования: высокая производительность под нагрузкой, точность подсчётов и возможность масштабирования приём событий о просмотрах через API или SDK,…
Основные архитектурные подходы: монолит, микросервисы, SOA и event-driven Монолит: приложение представляет собой единое целое, все компоненты работают в одном процессе. Такой вариант упрощает разработку и деплой, но…
Диаграммы для описания процессов и системной архитектуры Для процессов: Диаграммы потоков данных DFD — отображают перемещение информации Для процессов: BPMN — стандартизированный способ описания бизнес-процессов и…