Рубрика Паттерны

Архитектура event-driven приложений

Что такое архитектура, управляемая событиями? Архитектура, управляемая событиями (EDA), — это шаблон архитектуры программного обеспечения, в котором особое внимание уделяется производству, обнаружению, потреблению и реакции на события, происходящие в системе или среде. Каковы преимущества использования EDA? Некоторые из преимуществ использования…

Load Balancer / Балансировщик нагрузки

Балансировщик нагрузки — паттерн распределения входящего сетевого трафика между несколькими серверами, чтобы оптимизировать использование ресурсов, максимизировать пропускную способность, минимизировать время отклика и избежать перегрузки какого-либо отдельного сервера. Он действует как посредник между запросами клиента и ответами сервера, гарантируя, что каждый…

Webflux горячий и холодный паблишеры

В Spring WebFlux холодный паблишер можно реализовать с помощью класса Flux, а горячий – с помощью класса ConnectableFlux. Вот пример того, как реализовать холодный паблишер с помощью Flux: В этом примере мы возвращаем Flux, который генерирует список строк. Поскольку это…

Основные понятия микросервисной архитектуры

Микросервисная архитектура — это архитектурный стиль, структурирующий приложение как набор небольших автономных сервисов, каждый из которых работает в своем собственном процессе и взаимодействует с другими сервисами через API. Преимущества использования микросервисной архитектуры включают в себя: Недостатки микросервисной архитектуры: Применительно к…

Управление взаимодействием между сервисами: оркестрация и хореография

Оркестрация и хореография — это два разных подхода к управлению взаимодействием между сервисами в распределенной системе. Оркестрация относится к централизованному подходу, при котором один компонент (обычно планировщик или оркестратор) отвечает за координацию и управление взаимодействием между сервисами. В этой модели…